美文网首页
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