以下是我对js中对象的一些理解 ,简述了 什么是对象 , 对象的创建, 使用 以及其属性。

js对象是j's的基本数据类型, js中的对象是动态的, 可以新增属性,也可以删除属性。

对象中最常用的用法是创建(create),设置(set),查找(query),删除(delete),检查(test),枚举(enumerate)。

一. js中的对象具有三类对象两类属性:

内置对象:是由ECMAScript规范定义的对象或类。例如:数组, 日期,函数,和正则表达式都是内置对象。

宿主对象:由js解释器所嵌入的宿主环境(比如web浏览器)定义的。那么宿主对象也可以当成内置对象。

自定义对象:是由运行中的js的代码所创建的对象。

自有属性:是直接在对象中定义的属性。

继承属性:是在对象的原型对象中定义的属性。

二. 对象的创建的三种方法:直接量方法, new关键方法, Object.create()

1.直接量方法:

var object = {};//创建一个空的对象,该对象继承object.prototype

2.new关键字方法

var object = new Object();//用new关键字创建的空对象, 同样继承object.prototype

var data = new Date()://继承Date.prototype

Date.prototype继承object.prototype, 而data同时继承Date.prototype和object.prototype,这就够成了“原型链”。

3.object.create()

var object = Object.create({x:1,y:2});//创建的object对象继承了x y属性
var object1=Object.create(Object.prototype);//创建了一个空的对象

三.对象属性的访问和设置的两种方法, 以及二者的区别:

1. 通过对象名"."来访问或设置:

var name  = object["name"];

2.通过“[]”来访问或设置:

var name = object.name;

以上两种方式都可以; 但是我们推荐使用"[]",当对象的属性为关键字时, 使用“[]”不会报错, 例如object[“class”];

当我们需要动态改变属性例如在程序中修改属性时可以使用“[]”因为这种写法访问属性时, 他是使用的字符串形式:如下

for(var i = 0; i<5;i++){
   var add ;
   add += object["name"+i];
}

四 对象的继承; 

对象的属性可以继承;当我们修改对象的某个属性, 而这个属性已经从原型上继承了, 我们只会修改该对象的属性, 而不是原型上的属性。