一:对象的属性定义方法
当属性不是有效的变量,需要用’ ’ 括起来,引用时用[ ]
var xiaohong = {
name: '小红',
'middle-school': 'No.1 Middle School'
};
xiaohong.name;
xiaohong['name'];
xiaohong['middle-shool'];
对象的属性是字符串,其值是任意数据类型。
可以对属性添加和删除:
xiaohong.age=10;//添加
delete xiaohong,name;//删除
用in方法判断某个属性是不是属于某个对象的
'name' in xiaohong;//true
需要注意的是,in判断的属性可能是改对象继承的属性,例如obeject的toString属性
因此判断是否自身拥有,用hasOwnProperty()
var xiaohong = {
name: '小红'
};
xiaohong.hasOwnProperty('name'); // true
xiaohong.hasOwnProperty('toString'); // false
二、本节错题
var xiaoming = { name = 小明, height = 170, age = 17};
"name" in xiaoming // ==> 返回的是true 这个没问题
"height" in xiaoming // ==> 返回true
name in xiaoming // ==> 返回false,没有报错
height in xiaoming //==>报错
这里面是因为name属性属于windows。windows属性参考链接。