码迷,mamicode.com
首页 > 编程语言 > 详细

《JavaScript权威指南》读书笔记2

时间:2015-08-26 01:46:37      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:

3.6-3.8

  这三章主要介绍了JS的包装对象、不可变的原始值和可变的对象引用、JS中的类型转换。

  包装对象主要指当原始值需要调用一些方法的时候(原始值本身是不能通过"."来调用的方法或者属性值的),JS会隐性的把原始值转换成一个临时的对象,通过这个临时的对象来实现通过原始值调用方法(这个方法是原始值所对应的包装对象的方法),这个临时的对象就成为包装对象。例如,

  先定义一个字符串,并通过.length(),方法来获取字符串的长度:

1 var a ="hello";
2 var b=a.length();   

  a作为一个字符串变量,并不是一个对象,所以他是不能通过"."的形式来调用length()方法的。但是在实际中,我们都是这样运用的。这就是因为这这个过程中JS使用了包装对象。当字符串a通过"."调用属性的时候(方法是一个属性值为函数的属性),JS会通过调用new String(a)来创建一个新的临时的对象,即包装对象,包装对象会继承字符串的所有方法,通过这个包装对象来.length()获取长度,并且返回给变量b,这个过程结束后b被赋值,包装对象会销毁,a并没有发生任何改变。

  包装对象类似于JAVA中的对int的装箱后的Intiger对象。

  除了字符串String(),数字和布尔值也有各自的Number()和Boolean()构造方法来调用。当然,JS除了在运算中会隐式的使用包装对象,也可以通过构造函数来显式的创建包装对象,如:

var a =‘hello‘;
var A= new String(a);

 

《JavaScript权威指南》读书笔记2

标签:

原文地址:http://www.cnblogs.com/bigbearche/p/4759110.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!