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

【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);
js操作对象

四、查询对象属性

加入一个对象的属性太多了,我们需要检测某个属性在不在这个对象内,我们可以用 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
微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?