js隐式转换的知识讲解(附示例)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了js隐式转换的知识讲解(附示例),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2614字,纯文字阅读大概需要4分钟。
内容图文
![js隐式转换的知识讲解(附示例)](/upload/InfoBanner/zyjiaocheng/285/f21f06db150d43779526baa388b84026.jpg)
开胃菜
[] == ![] //true ==> "" == false 123 ^ [] //123 ==> 123 ^ 0 ~{} //-1 ==> ~0 {} >= {1,2} //true ==>因为大于等于的比较,不是相等的比较,所以[object Object] >=[object Object] [null] == "" //true ==> [""] == ""
值得注意的操作符:
一元操作符:通过Number()进行转换;其中包括*号运算符,/号运算符,都是经Number()转换
+undefined //NaN
逻辑运算符:!等价于Boolean(),将操作数进行布尔值类型转换
位操作:~, |, &, ^;当一边操作数为NaN时,可等价于操作数为0;
//由以下变化可以证得: NaN ^ NaN ^ NaN = 0
加号运算符,比较复杂
优先级最高的是字符串,任何操作数与字符串相加都将其String(x)成字符串,再进行字符串拼接
console.log("a" + 1); //"a1" console.log("a" + "1"); //"a1" console.log("a" + false); //"afalse" console.log("a" + undefined); //"aundefined" console.log("a" + NaN); //"aNaN" console.log("a" + null); //"anull" console.log("a" + {}); //"a[object Object]"
其次number,而object在正常情况下输出的就是string类型
//console.log(1 + "1"); //"11" console.log(1 + 1); //2 console.log(1 + true); //2 console.log(1 + undefined); //NaN console.log(1 + NaN); //NaN console.log(1 + null); //1 console.log(1 + {}); //"1[object,Object]"
当一方为Boolean,或者两方都是Boolean时,都将其进行Number处理,同理undefined与null也一样
console.log(true + true); //2 console.log(true + undefined); //NaN console.log(true + NaN); //NaN console.log(true + null); //1 console.log((true + [NaN])); //"trueNaN"
减号,则将两边都进行Number()处理
比较运算:==, >, <, >=, >=, != 遵循规则(摘自高程3):
2.要比较相等之前,不能将null和undfined转换成其他任何值
3.如有一个操作数为NaN,相等操作符返回fasle,不相等操作符返回true, NaN不等于NaN
4.两个对象之间的比较,两者指向同一个对象(地址相同),相等操作符返回true,否则返回false
值得注意的是:对象间的>=与==(!=)比较方式是不同的,前者是toString()返回值的比较,后者是引用地址的比较
当都是两边都是字符串时,按字符编码大小进行比较
当一方操作数为boolean,string,object,转成number类型的数值再进行比较;
console.log("NaN" == NaN); //false console.log(undefined == null); //true console.log({} >= {1:2}); //true console.log({1:2} != {}); //true console.log({} == {1:2}); //false console.log([1] == [1]); //false console.log(null == 0); //false
以上就是js隐式转换的知识讲解(附示例)的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是互联网集市为您收集整理的js隐式转换的知识讲解(附示例)全部内容,希望文章能够帮你解决js隐式转换的知识讲解(附示例)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。