首页 > 编程语言 > 详细

浅谈javascript中的包装对象

时间:2016-05-13 17:18:21      阅读:91      评论:0      收藏:0      [点我收藏+]

  javascript中的对象类型分为内置类型和对象类型,其中内置类型包括sting number boolean null undefined五种;对象类型包括Array Function regExp Date 等等,统称为Object类型。我们知道在一个对象中包含一系列属性名/属性值的集合,可以通过"."来访问对象的属性或方法,如:

1 window.onload=function(){//可执行代码}

但我们常常可以看到这样的代码:

1 var str="hello world";
2 str.split(" ");            // ["hello","world"]

上段代码中,str为一个字符串,是存在栈中的一个值,并不属于对象,但是为什么str可以调用split方法呢?这就要用到包装对象的概念。当要操作字符串、数字、布尔值的属性时,js会在内存中自动创建一个对象,用来对内置类型进行包装,使内置类型暂时拥有普通对象功能,可以存取属性,一旦引用结束,包装对象自动销毁。如下面代码:

var str="123456";
str.a=7; //为字符串添加一个属性a,并赋值为7
console.log(str.a) //undefined

上面的代码我们可以分解为:

1 var str="123456";
2 var newStr=new String("str");//创建包装对象
3 newStr.a=7; //为字符串添加一个属性a,并赋值为7
4 console.log(newStr.a);//7
5 newStr=null;//释放包装对象
6 console.log(str.a) //undefined

自此我们不难理解为什么str.a的值为undefied;

浅谈javascript中的包装对象

原文:http://www.cnblogs.com/gracefulCode/p/5489827.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!