您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息
三六零分类信息网 > 锡林郭勒分类信息网,免费分类信息发布

JavaScript中关于基本包装类型的解析

2024/4/22 7:43:45发布4次查看
基本包装类型基本包装类型是特殊的引用类型。每当读取一个基本类型值的时候,后台就会创建一个对应的基本包装类型的对象,从而可以调用属性、方法来进行后续操作。
ecmascript还提供了三种基本包装类型:number、string、boolean。
代码现状我们经常写类似这样的代码,基本类型的变量可以当做对象一样调用属性、方法,但这又不是一个真正的对象只是一个变量而已,那么这是为什么呢?
1 var str = "hello world"; 2 console.log(str.length); // 11 3 console.log(str.touppercase());// hello world
其实为了便于操作基本数据类型的值,javascript 中的基本数据类型的值会在后台创建一个对应的基本包装类型对象,除了 null 和 undefined 所有的基本类型都有对应的包装类型。
如上代码,后台会自动完成下列的处理:
执行到第二行时:
创建 string 类型的一个实例;
在实例上调用指定的属性;
销毁这个实例;
执行到第三行时:
创建 string 类型的一个实例;
在实例上调用指定的方法;
销毁这个实例;
可以将以上三个步骤想象成是执行了下列ecmascript代码:
1 // 执行到第二行时 2 var str = new string("hello world"); 3 str.length; 4 str = null; 5 6 // 执行到第三行时 7 var str = new string("hello world"); 8 str.touppercase(); 9 str = null;
这样以上代码中字符串就变得跟对象一样了,同理分别适用与boolean、number类型对应的基本数据类型;
现在是不是明白原来这个这个基本包装类型其实就是基本数据类型对应的类型
类型映射关系string string
number number
布尔类型(true、false) boolean
注意:
并不是包装类型提供了方法,而是javascript 引擎后台创建了对应基本包装类型的实例(对象)
每当读取一个基本类型值的时候,后台就会创建一个对应的基本包装类型对象 如:
1 var str = new string("hello world"); 2 str.length; 3 str = null;
引用类型对象与基本包装类型对象的区别主要区别就是这两种对象的生命周期不同。
通过以上代码块我们知道基本包装类型自动创建的对象在对象被调用的时刻存在,调用完后就被销毁了,而使用new关键字创建的引用类型的实例,对象在当前作用域都存在。
s='some' s.age='joel' console.log(s.age);
如上代码在给字符串s添加age属性,但是当代码执行到第三行时name属性已经被销毁了,当代码执行第三行时,又创建了一个string 实例,但是这个实例并没有age属性所以输出undefined;
s= string('some' s.age='joel' console.log(s.age);
总结1、每个基本数据类型都映射到同名的基本包装类型(除了null、undefined)。
 2、在读取基本类型值时,就会创建对应的基本包装类型对象,从而方便了数据操作。
 3、操作基本包装类的对象一经执行完毕,就会立即销毁。
以上就是javascript中关于基本包装类型的解析的详细内容。
锡林郭勒分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录