JavaScript中关于基本包装类型的解析
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了JavaScript中关于基本包装类型的解析,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2297字,纯文字阅读大概需要4分钟。
内容图文
![JavaScript中关于基本包装类型的解析](/upload/InfoBanner/zyjiaocheng/298/5584a93ce0de41d5a9258146aaefe3ab.jpg)
基本包装类型
基本包装类型是特殊的引用类型。每当读取一个基本类型值的时候,后台就会创建一个对应的基本包装类型的对象,从而可以调用属性、方法来进行后续操作。
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中关于基本包装类型的解析的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是互联网集市为您收集整理的JavaScript中关于基本包装类型的解析全部内容,希望文章能够帮你解决JavaScript中关于基本包装类型的解析所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。