JS--对象

2017-11-20  本文已影响0人  nickName0
var studentA = {
        name : "Tom",
        age : "14"
}

访问属性是通过.操作符完成的,但这要求属性名必须是一个有效的变量名。如果属性名包含特殊字符,就必须用' '括起来,例如给studentA对象添加一个属性class-numer,由于属性名含有特殊字符-,则该属性要以以下格式进行声明:

var studentA = {
        name : "Tom",
         age : "14",
 'class-numer' : 2
}
var studentA = {
    name: 'Tom'
};
studentA.age; // undefined
studentA.age = 18; // 新增一个age属性
studentA.age; // 18
delete studentA.age; // 删除age属性
studentA.age; // undefined
delete studentA['name']; // 删除name属性
studentA.name; // undefined
delete studentA.height; // 删除一个不存在的school属性也不会报错
'name' in studentA; // true
'toString' in studentA; // true    因为toString定义在object对象中,而所有对象最终都会在原型链上指向object

要判断一个属性是否是某个自身拥有的,而不是继承得到的,可以用hasOwnProperty()方法:

studentA.hasOwnProperty('name'); // true
studentA.hasOwnProperty('toString'); // false
var classNo = studentA['class-nume'];  // 2

当然,没有包含特殊字符的属性名也可以使用上述语法进行访问,不过直接使用.语法访问不含有特殊字符的属性比较直观。

如果访问没有定义的属性,则返回undefined,例如在上述对象 studentA中我们使用.语法访问weight属性,则返回undefined:

var weight  = studentA.weight; // undefined
上一篇下一篇

猜你喜欢

热点阅读