给对象动态添加属性
当一个对象需要某个属性的时候,可以用两种方式为其添加属性
直接使用对象名.属性名 = 值 这种形式,为对象添加对应的属性
使用关联数组语法 对象名["属性名"] = 值
//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 ] );
}
}