JavaScript对象的创建使用与访问

JavaScript对象是只有属性和方法的特殊数据类型,由键值对组成。JavaScript的对象用于描述现实世界中的某个对象。JavaScript 中的所有事物都是对象:字符串、数值、数组、函数… 此外,JavaScript 允许自定义对象。
一、对象的格式用{ }把键值对包起来,键值对以xxx: xxx形式申明,用【,】隔开,最后一对后面不用加【,】否则低版本的浏览器会认为对象属性还没书写完毕,会报错。
例如:

var project = { name:'小明', age:18, school:'附中', father:'大明', mother:'阿芳', 'best-friend':'小红', address:'北京路', phone:'13314756284' }

上面的project 就定义了一个对象。
二、访问对象属性定义好对象之后我们应该怎么访问对象的属性呢?有两种访问的方法。
【1】:我们可以通过 对象名.属性来访问。因为这个属性属于这个对象,因此可以使用该方法。
例如:
console.log(project.name)//小明 console.log(project.age)//18

【JavaScript对象的创建使用与访问】【2】:你也许会发现,为什么‘best-friend’属性要用引号‘’括起来呢?因为属性中包含了特殊字符【-】,所以要用对象名[‘属性’]的方式来访问。
例如:
console.log(project['best-friend']); //小红 console.log(project['address']); //北京路

会发现,其实这个方法就是把键变成字符串而访问。你觉得哪种方法简单就用哪种,其实都可以。
三、操作对象怎么对对象的属性和属性值进行修改呢?由于JavaScript的对象是动态类型,所以既然可以访问到属性,那当然可以修改,增加属性和删除属性。
例如:小明改名字了,他最好的朋友也不是小红了,他没朋友了,转校了。
console.log(project.name='罗小明'); //修改 delete project['best-friend']; //删除 project['new-school']='新东方'; //新增 console.log(project);

JavaScript对象的创建使用与访问

文章图片
四、查询对象属性加入一个对象的属性太多了,我们需要检测某个属性在不在这个对象内,我们可以用 in 来检测。
例如:
console.log('name' in project)//true console.log('page' in project)//false

但需要注意的是,用 in 方法检测到的属性有可能不是改对象的,有可能是该对象继承得到的。
例如:
console.log('toString' in project)//true

所以可以使用hasOwnProperty( )方法来查询对象的属性是否是它自己的,而不是继承的。
例如:
console.log(project.hasOwnProperty('toString')); //false

    推荐阅读