隐式类型转换-创新互联

1.1-隐式转换介绍
在js中,当运算符在运算时,如果两边数据不统一,CPU就无法计算,这时我们编译器会自动将运算符两边的数据做一个数据类型转换,转成一样的数据类型再计算,这种无需程序员手动转换,而由编译器自动转换的方式就称为隐式转换,例如1 > "0"这行代码在js中并不会报错,编译器在运算符时会先把右边的"0"转成数字0然后再比较大小

成都创新互联自2013年创立以来,是专业互联网技术服务公司,拥有项目网站设计、成都网站设计网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元港闸做网站,已为上家服务,为港闸各地企业和个人服务,联系电话:028-86922220

关于== 和 ===的性能,有人会觉得, == 的性能会比 === 的性能要慢。没错,== 确实是要比 === 多花一点时间,但是这只是微秒级的差别,也就是万分之一秒左右,对于程序来说可忽略不计。但是无论 == 还是 === 都会检测类型,只是检测出来之后各自的操作不一样。

空数组的toString()方法会得到空字符串,而空对象的toString()方法会得到字符串[object Object] (注意第一个小写o,第二个大写O哟)

逻辑运算符优先级高于关系运算符
1.逻辑非将其他数据类型转换成布尔类型
2.关系运算符将其他数据类型转换成数字

valueOf() 方法可返回 Boolean 对象的原始值。
console.log( [ ] == 0) //true 空数组的toString()方法会得到空字符串
console.log( ![ ] == 0) //true 空数组转布尔得到true 然后取反得到false

console.log( [ ] == [ ]) //false
console.log( !{} == 0) //false 空对象

console.log( {} == {}) //false 引用数据类型存在堆中,堆中存储的是地址
console.log( !{} == {}) //false

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享名称:隐式类型转换-创新互联
URL分享:http://scyanting.com/article/cdseho.html