首页 > 编程 > JavaScript > 正文

JavaScript中的包装对象介绍

2019-11-20 13:19:19
字体:
来源:转载
供稿:网友

javascript对象是一种复合值,它是属性或已命名的值的集合,通过符号"."来引用属性值,当属性值是一个函数的时候,我们称之为方法。我们看到字符串也具有属性和方法:

复制代码 代码如下:

var s="hello,world!";
var word=s.substring(s.indexof("")+1,s.length);

字符串既然不是对象,为什么它又有属性呢,只要引用了字符串s的属性,javascript就会将字符串值通过调用new String(s)的构造函数转换成对象,这个对象继承了字符串的方法,并用来处理对属性的引用,一旦属性引用结束,这个新创建的对象就会被销毁(其实实现上并不一定会创建这个对象,只是整个过程看起来这样)。

同字符串一样,数字和布尔值也具有各自的方法:通过Number()和Boolean()构造函数创建一个临时对象,这些方法的调用均来自这个临时对象。这个临时对象被称之为包装对象。

注意 :

复制代码 代码如下:

       var s="test";   //声明一个字符串
       s.len=4;    //给它设置一个len属性
       var t=s.len;   //查询这个属性

  这个时候我们输出t时应当为undefined,第二行代码创建一个临时字符串对象,并给其len属性赋值为4,随即销毁这个对象,第三行代码通过原始的字符串值s设置一个新的属性,尝试读取其len属性,这个属性自然不存在,所以t输出时值为undefined。

这段代码表明,在读取数字,字符串,布尔值的属性值(或方法)时,表现得像对象一样,但试图给其属性赋值时,则会忽略这个操作:修改只是发生在临时对象上,而这个临时对象并未继续保留下来。

存取字符串、数字、或布尔值的属性时创建的临时对象称作包装对象,它只是偶尔用来区分字符串值和字符串对象,数字和数值对象,布尔值和布尔对象

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表