Javascript属性和动态添加、修改和删除对象的方法

现在演示如何添加、修改或删除对象的属性和方法。添加一个修正案的成员对象,有必要修改相应的类中,reinstantiate,和程序必须重新编译。在Javascript中不是这样的,它提供了一个灵活的机制来修改对象的行为,并可以动态添加、修改、删除属性和方法。例如,我们首先使用类对象来创建一个空的目标用户:
用户=新对象();

1。添加属性
此时,用户对象没有任何属性和方法,显然没有任何用途,但您可以动态地向其添加属性和方法,例如:
用户名称=杰克;
用户:年龄= 21;
用户=性别=男性;
通过上面的语句,用户对象具有三个属性:名称、年龄和性别。以下三个语句输出:
警报(用户名称);
警报(用户,年龄);
警报(用户,性别);
从代码运行效果得知,这三个属性已经完全是用户对象。

2。添加方法
添加方法的过程和性质是相似的:
用户=警报=函数(){
警报(我的名字是:+这个,名字);
}
这为用户对象添加了一个方法警报,通过执行它,您可以弹出一个对话框来显示它的名称介绍:
User.alert();

三.修改属性
修改属性的过程是用新属性替换旧属性,例如:
用户名称=汤姆;
用户=警报=函数(){
警报(你好,+这个,名字);
}
这将修改用户对象名称属性和警报方法的值,该方法从显示我的名字更改为hello的显示。

4。删除属性
删除属性的过程也非常简单,这是将其设置为未定义的:
用户名=未定义的;
用户:警报=未定义;
这将删除name属性和警报方法。在后面的代码中,这些属性不可用。
在添加、修改或删除属性和属性引用相同的情况下,也可以在方括号(})语法中使用:
用户{ } =汤姆;
这种方式的另一个特性是,可以使用非标识符字符串作为属性名,例如
不允许在空格中使用数字或标识符,但在方括号({ })中可以使用语法:
用户{我的名字} =汤姆;
需要注意的是,当使用这个非标识符作为名称的属性时,括号语法仍然用作引用。
警报(用户{我的名字});
不能写成:
警报(user.my名称);
有了这个对象的性质,甚至可以很容易地实现一个简单的哈希表,这将在本书后面看到,可以看出,Javascript中的每个对象都是动态变化的,这给编程带来了很大的灵活性,也与其他语言有很大的区别。读者可以理解这种性质。