美文网首页
对象的动态特性

对象的动态特性

作者: 嗨黄先生 | 来源:发表于2017-10-26 21:55 被阅读0次

    给对象动态添加属性

    当一个对象需要某个属性的时候,可以用两种方式为其添加属性

    直接使用对象名.属性名 = 值 这种形式,为对象添加对应的属性
    使用关联数组语法 对象名["属性名"] = 值  
    
    //o是一个没有任何自定义属性的对象
    var o = {};
    
    //现在想让他拥有name age gender等属性
    //直接使用 对象名.属性名 = 值
    o.name = "张三";
    
    
    
    //使用 对象名["属性名"] = 值
    o["age"] = 18;
    
    
    
    //可以通过打印查看效果
    console.log(o.name);
    console.log(o.age);
    

    注意:
    当要动态的为一个对象添加属性的时候,必须使用关联数组的形式

    //接收到了用户的输入
    var str = prompt("请输入属性名");
    
    o = {};
    //o.str = "这是一个新属性"; //这么写是不对的,会给对象新增一个str属性
    //正确的写法如下
    o[str]="这是一个新属性";
    

    对象的访问形式

    点语法:对象名.属性名
    关联数组: 对象[属性名]

    var o ={
      name :"张三",
      sayHello:function(){
        console.log("你好,我叫"+this.name);
      }
    };
    //点语法
    console.log(o.name);
    //关联数组语法
    console.log(o["name"]);
    //这两种用法同样适用于方法
    o.sayHello();
    o["sayHello"]();
    
    //可以对这个对象的属性进行遍历,如果是值就打印,如果是方法就调用
    for(var k in o){
        if ( typeof o[ k ] == 'function' ) {
            o[ k ]();
        } else {
            console.log( 'log: ' + o[ k ] );
        }
    }
    

    相关文章

      网友评论

          本文标题:对象的动态特性

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