全国热线

400-080-3312

  134-5194-0569

全国监督投诉热线:9:00-23:00

关于JavaScript包装对象中的案例讲解

今天学码思Web前端讲师给大家说说关于JavaScript包装对象中的案例讲解,一起来看一下。

  一些学员对JS中的对象包装理不清楚,其实JavaScript中对象囊括了已经命名的值或属性,是一种复合值。调用属性值的方法是加“.”。当属性值是函数的时候,利用o.m()来调用,这时候的属性值被称作方法,字符串的属性和方法也和这个一样。今天学码思Web前端讲师给大家说说关于JavaScript包装对象中的案例讲解,一起来看一下。


  111.jpg


  字符串不是对象,他是有属性的,只要调用了字符串s的属性,JavaScript就会将字符串值利用调用new String(s)的方式转换成对象,这个对象继承了字符串的方法(见6.2.2节),并被用来处理属性的调用。一旦属性调用结束,这个新创建的对象就会取消(其实在实现上并不一定创建或取消这个临时对象,然而整个过程看起来是这样)。


  同字符串一样,数字和布尔值也具有各自的方法:利用Number()和Boolean()构造函数创建一个临时对象,这些方法的调用均是来自于这个临时对象。null和undefined没有包装对象:访问它们的属性会造成一个类型错误。 


  看如下案例,案例它们的执行结果:


  222.jpg

  当运行这段案例时,t的值是undefined。第二行案例创建一个临时字符串对象,并给其len属性赋值为4,随即取消这个对象。第三行利用原始的(没有被修改过)字符串值创建一个新字符串对象,尝试读取其len属性,这个属性自然不存在,表达式求值结果为undefined。这段案例说明了在读取字符串、数字和布尔值的属性值(或方法)的时候,表现的像对象一样。但如果你试图给其属性赋值,则会忽略这个操作:修改只是发生在临时对象身上,而这个临时对象并未继续保留下来。


  存取字符串、数字或布尔值的属性时创建的临时对象称做包装对象,它只是偶尔用来区分字符串值和字符串对象、数字和数值对象以及布尔值和布尔对象。通常,包装对象只是被看做是一种实现细节,而不用特别关注。由于字符串、数字和布尔值的属性都是只读的,并且不能给它们定义新属性,因此你需要明白它们是有别于对象的。


  需要注意的是,可利用String(),Number()或Boolean()构造函数来显式创建包装对象:


  333.jpg


  JavaScript包装对象的过程中,会根据需要将其转换为原始值,因此上面这段案例中的对象S/B/N会经常出现,但是并不是所有时候都会,“==”的意思是运算符把包装对象和原始值判断为对等,但是“===”则视为不等,这是全等运算符的规则。typeof可以让我们看到包装对象和原始值的区别。>>>Javascript定义函数的方式


上一篇:前端开发学那些可以为自己拓展
下一篇:给新人学习Web前端的6点建议

相关推荐

免费试听 | 学费咨询 | 在线报名 | 申请补贴 | 软件培训 | 网站地图

2016-2020 南京学码思教育科技有限公司 .All Rights Reserved

苏ICP备16033487号 www.njxms.com.cn

全国热线

400-080-3312

全国监督服务热线:9:00-23:00