javascript动态添加、修改、删除对象的属性与方法详解

 更新时间:2014年01月27日 10:37:16   作者:  
本篇文章主要是对javascript动态添加、修改、删除对象的属性与方法进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助

现在介绍如何为一个对象添加、修改或者删除属性和方法。在其他语言中,对象一旦生成,就不可更改了,要为一个对象添加修改成员必须要在对应的类中修改,并重新实例化,而且程序必须经过重新编译。JavaScript 中却非如此,它提供了灵活的机制来修改对象的行为,可以动态添加、修改、删除属性和方法。例如首先使用类Object来创建一个空对象user:
var user=new Object();

1.添加属性
这时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.删除属性
删除一个属性的过程也很简单,就是将其置为undefined:
user.name=undefined;
user.alert=undefined;
这样就删除了name属性和alert方法。在之后的代码中,这些属性变的不可用。
在添加、修改或者删除属性时,和引用属性相同,也可以采用方括号([])语法:
user[“name”]=”tom”;
使用这种方式还有一个额外的特点,就是可以使用非标识符字符串作为属性名称,例如
标识符中不允许以数字开头或者出现空格,但在方括号([])语法中却可以使用:
user[“my name”]=”tom”;
需要注意,在使用这种非标识符作为名称的属性时,仍然要用方括号语法来引用:
alert(user[“my name”]);
而不能写为:
alert(user.my name);
利用对象的这种性质,甚至可以很容易实现一个简单的哈希表,在本书的后面将会看到其应用。此可见,JavaScript中的每个对象都是动态可变的,这给编程带来了很大的灵活性,也和其他语言产生了很大的区别,读者可以体会这种性质。

相关文章

  • javascript实现验证IP地址等相关信息代码

    javascript实现验证IP地址等相关信息代码

    本文给大家分享的是一组判断IP地址是否合法,判断子网掩码是否合法,验证输入的网关地址是否合法的javascript代码,十分的简单实用,有需要的小伙伴可以参考下。
    2015-05-05
  • 网页中的图片的处理方法与代码

    网页中的图片的处理方法与代码

    昨天的一篇 图片的alt属性 文章评论中的启发,特将网页中的图片的一些处理方法 小小的总结一下
    2009-11-11
  • javascript实现表格信息增添与删除

    javascript实现表格信息增添与删除

    这篇文章主要为大家详细介绍了javascript实现表格信息增添与删除,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-04-04
  • js window.print实现打印特定控件或内容

    js window.print实现打印特定控件或内容

    window.print可以打印网页,但有时候我们只希望打印特定控件或内容,怎么办呢?可以把要打印的内容放在div中,然后用下面的代码进行打印,希望对大家有所帮助
    2013-09-09
  • 谷歌Chrome浏览器扩展程序开发小记

    谷歌Chrome浏览器扩展程序开发小记

    本文给大家记录的是一次谷歌Chrome浏览器扩展程序的开发过程,非常的细致,有类似开发念头的小伙伴们可以来参考下
    2016-01-01
  • IE6浏览器中window.location.href无效的解决方法

    IE6浏览器中window.location.href无效的解决方法

    这篇文章主要介绍了IE6浏览器中window.location.href无效的解决方法,给出了正确与错误的实例对比,分析跳转无效的原因与解决方法,是非常实用的技巧,需要的朋友可以参考下
    2014-11-11
  • 实现只能输入数字的input不用replace方法

    实现只能输入数字的input不用replace方法

    只能输入数字在以往都是使用replace方法实现的,在本文你将学习到不使用它依然可以实现,具体代码如下,感兴趣的朋友可以参考下
    2013-09-09
  • javascript中length属性的探索

    javascript中length属性的探索

    本文中,我将会通过类数组对象(array like object),探索javascript中的length属性的一些秘密。
    2011-07-07
  • javascript实现图片轮播效果

    javascript实现图片轮播效果

    这篇文章主要为大家介绍了javascript实现图片轮播效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-01-01
  • uni-app之APP和小程序微信授权方法

    uni-app之APP和小程序微信授权方法

    这篇文章主要介绍了uni-app之APP和小程序微信授权方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-05-05

最新评论