面向对象01-对象的动态特性

2017-05-29  本文已影响0人  肉肉与马甲线的故事

对象的动态特性

在js中可以动态的对对象属性进行增加、修改和删除

访问对象的方法

01 可以使用点语法访问

02 可以使用[]语法访问,注意对象的属性必须是字符串,如若不是字符串,会将key值当做变量去作用域内查找,存在会赋值给key,不存在会报错。

代码示例

    //01 创建对象
    var obj = {
        name:"刘德华",
        age:60
    };

    //02 动态的为对象添加属性
    obj.height = "180cm";
    console.log(obj.height);

    //03 动态的为对象添加方法
    obj.maiMeng = function () {
        console.log("华仔会卖萌噢");
    };

    obj.maiMeng();

    //04 修改属性的值:如果设置的属性以前不存在,那么就是添加,如果设置的属性已经存在了,那么就是修改
    obj.name = "王宝强";
    console.log(obj.name);

    //05 删除属性
    delete obj.name;

    console.log(obj.name);  //undefined
    console.log(delete obj.name); //返回值为布尔值,true为删除成功

关键字in与delete

in关键字

代码示例

    var obj = {
        name:"张三",
        age:18
    };

    for(k in obj)
    {
        console.log(k,obj[k]);
    }

    //检测obj对象中是否存在name这个属性
    console.log("name" in obj);

注意:in关键字用于操作数组的时候检测的是索引值并非数组元素

delete关键字

注意点

上一篇 下一篇

猜你喜欢

热点阅读