javascript包装对象实例分析_javascript技巧
程序员文章站
2023-12-24 21:36:15
...
本文实例讲述了javascript包装对象用法。分享给大家供大家参考。具体分析如下:
js对象是一种复合值:它是属性或已命名值得集合。
参考以下代码:
var s = "hello world"; var len = s.length;
在该例子中,s是字符串,而字符串不是对象,但为何会有属性呢?其实只要引用了字符串s的属性,js就会将字符串通过调用new String(s)的方式转换为对象,该对象继承了字符串的方法,并被用来处理属性的引用;一旦属性引用结束,这个新创建的对象就会被销毁(在实现上并不一定创建或销毁这个临时对象,但整个过程看来是这样)。
同字符串一样,数字和布尔值也具有各自的方法:通过Number()单核Boolean()构造函数创建临时对象,这些方法的调用都是来自于这个临时对象;然而null和undefined没有包装对象:访问他们的属性会造成类型错误。
比如以下代码:
var s0 = "hello world"; s0.len = 100; var t = s.len; //t的值将为undefined
因为第2行创建临时对象后,立即将其销毁;第三行通过原始的字符串值创建一个新字符串对象,尝试读取其len属性,自然不存在。这段代码说明在读取字符串、数字和布尔值的属性值或方法时,表现的像对象一样。但如果你试图给其属性赋值,则会忽略这个操作:修改只是发生在临时对象上,而这个临时对象并未继续保留下来。
存取字符串、数字或布尔值的属性时临时创建临时对象称为包装对象。
我们可以显示建立一个字符串对象然后增添它的属性,自然该属性会一直保留下来:
var str = "hello world"; var objs = new String(str); objs.len = 100; var t = objs.len; //t将被赋值为100
js会在必要时将包装对象转换为原始值因此显示创建的对象和其对应的原始值常常但不总是表现的一样。==运算符将原始值和其包装对象视为相等;但===全等运算符将他们视为不等;另外通过typeof运算符可以看到原始值和包装对象的不同。
希望本文所述对大家的javascript程序设计有所帮助。
推荐阅读
-
javascript包装对象实例分析_javascript技巧
-
JavaScript使用指针操作实现约瑟夫问题实例_javascript技巧
-
javascript innerHTML使用分析_javascript技巧
-
js定义对象或数组直接量时各浏览器对多余逗号的处理(json)_javascript技巧
-
Javascript编程之继承实例汇总_javascript技巧
-
javascript中checkbox使用方法简单实例演示_javascript技巧
-
一页面多XMLHttpRequest对象_javascript技巧
-
JS版网站风格切换实例代码_javascript技巧
-
Javascript 闭包引起的IE内存泄露分析_javascript技巧
-
利用javascript的面向对象的特性实现限制试用期_javascript技巧