美文网首页
JavaScript教程day05-对象

JavaScript教程day05-对象

作者: mr_young_ | 来源:发表于2017-01-04 17:10 被阅读33次
对象

JavaScript的对象是一种无序的集合数据类型,他由若干键值对组成
对象用一个{...}表示,键值对以xxx : xx形式申明,用,隔开。
注意:最后一个键值对后面不用加,

var xiaoming = {
    name : '小明',
    birth : 1990,
    school : 'No.1 Middle School',
    height : 1.70,
    weight : 65,
    score : null
};

获取对象的属性

xiaoming.name; // ‘小明’
xiaoming.birth; // 1990

如果属性名中包含特殊字符,要用''括起来,例如:

var xiaohong = {
    name : '小红',
    'middle-school' : 'No.1 Middle School'
};

xiaohong的属性名middle-school不是一个有效的变量,就需要用''括起来。访问这个属性也无法用.操作符,必须用['xxx']来访问

xiaohong['middle-school']; // 'No.1 Middle School'
xiaohong['name']; // 也可以用xiaohong['name']访问xiaohong的name属性
xiaohong.age; // 如果访问一个不存在的属性,会返回undefeated

JavaScript的对象是动态类型,可以自由的给一个对象添加或删除属性

var xiaoming = {
    name : '小明'
};
xiaoming.age; // undefeated
xiaoming.age = 19; // 新增一个age属性
xiaoming.age; // 返回 18
delete xiaoming.age; // 删除age属性
xiaoming.age; // undefeated
delete xiaoming.school; // 删除一个不存在的属性也不会报错

检测某一属性是否存在可以用in操作符

var xiaoming = {
    name : '小明',
    birth : 1990,
    school : 'No.1 Middle School',
    height : 1.70,
    weight : 65,
    score : null
};
'name' in xiaoming; // true;
'grade' in xiaoming; // false;
'toString' in xiaoming; // true;

注意,如果in判断一个属性存在,这个属性不一定是xiaoming的,而可能是它继承的!!!

要判断一个属性是否是xiaoming自身用后的,而不是继承得到的可以用 hasOwnProperty();

var xiaoming = {
    name = '小明'
};
xiaoming.hasOwnProperty('name'); // true;
xiaoming.hasOwnProperty('toString'); // false;

笔记整理自廖雪峰JavaScript教程

相关文章

网友评论

      本文标题:JavaScript教程day05-对象

      本文链接:https://www.haomeiwen.com/subject/gftavttx.html