为何a=abc区别于a=newStringabc-创新互联
今天就跟大家聊聊有关为何a=abc区别于a=newStringabc,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
“只有客户发展了,才有我们的生存与发展!”这是成都创新互联的服务宗旨!把网站当作互联网产品,产品思维更注重全局思维、需求分析和迭代思维,在网站建设中就是为了建设一个不仅审美在线,而且实用性极高的网站。创新互联对成都网站设计、成都网站制作、外贸网站建设、网站制作、网站开发、网页设计、网站优化、网络推广、探索永无止境。显而易见
a="abc" typeof a //string b=new String("abc") typeof b // object a==b //true a===b //false
但是为什么呢?看了很多书,问了好几个大神,其实自己还是稀里糊涂的。这里记录一下,备查。
在js中,区分原始资料类型和包装类型。数字、字符串、布尔、null、undefined 属于原始资料类型,而Number、String、Boolean属于包装类型,通过new Number 创建的是包装类型的派生对象。所以两者是不等的。
直接赋值为基本类型之后的使用过程如下:
1、创建String类型的一个实例
2、在实例上调用指定的方法
3、销毁实例
举例:
var a="123" a.toFixed===Number.prototype.toFixed;
这里还有一种说法:装箱,拆箱
装箱,就是用这个值类构造一个相应的包装对象
var a=10 ,b="javascript" , c=true; var o_a=new Number(a); var o_b=new String(b); var o_c=new Boolean(c);
装箱的大作用是将值作为对象来处理。
拆箱,是包装对象转换成值类型
var a=10; var o_a=new Number(a); var b=o_a.valueOf();//这就是拆箱的过程。
看完上述内容,你们对为何a=abc区别于a=newStringabc有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联成都网站设计公司行业资讯频道,感谢大家的支持。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
文章标题:为何a=abc区别于a=newStringabc-创新互联
文章位置:http://azwzsj.com/article/iejgs.html