如何为一个对象添加、修改或者删除属性和方法。在其他语言中,对象一旦生成,就不可更改了,要为一个对象添加修改成员必须要在对应的类中修改,并重新实例化,而且程序必须经过重新编译。JavaScript 中却非如此,它提供了灵活的机制来修改对象的行为,可以动态添加、修改、删除属性和方法。例如首先使用类Object来创建一个空对象user: 复制代码 代码示例:
user.name=”jack”;
user.age=21; user.sex=”male”; 通过上述语句,user 对象便具有了三个属性:name、age和sex。下面输出这三个语句: 复制代码 代码示例:
alert(user.name);
alert(user.age); alert(user.sex); 由代码运行效果可知,三个属性已经完全属于user 对象了。 2.添加方法 复制代码 代码示例:
user.alert=function(){
alert(“my name is:”+this.name); } 这就为user 对象添加了一个方法“alert”,通过执行它,可以弹出一个对话框显示自己的名字介绍: 复制代码 代码示例:
user.alert();
3.修改属性 复制代码 代码示例:
user.name=”tom”;
user.alert=function(){ alert(“hello,”+this.name); } 这样就修改了user 对象name属性的值和alert方法,它从显示“my name is”变为了显示“hello”。 4.删除属性 复制代码 代码示例:
user.name=undefined;
user.alert=undefined; 这样就删除了name属性和alert方法。在之后的代码中,这些属性变的不可用。 复制代码 代码示例:
user[“name”]=”tom”;
使用这种方式还有一个额外的特点,就是可以使用非标识符字符串作为属性名称,例如 复制代码 代码示例:
user[“my name”]=”tom”;
注意,在使用这种非标识符作为名称的属性时,仍然要用方括号语法来引用: 复制代码 代码示例:
alert(user[“my name”]);
而不能写为: 复制代码 代码示例:
alert(user.my name);
利用对象的这种性质,甚至可以很容易实现一个简单的哈希表,在本书的后面将会看到其应用。 由此可见,JavaScript中的每个对象都是动态可变的,这给编程带来了很大的灵活性,也和其他语言产生了很大的区别,读者可以体会这种性质。
|
|
来自: ThinkTank_引擎 > 《对象》