JS隐式类型转换总结

php中世界最好的语言
发布: 2018-04-18 14:58:02
原创
1796 人浏览过

这次给大家带来JS隐式类型转换总结,JS隐式类型转换的注意事项有哪些,下面就是实战案例,一起来看一下。

一般存在四种情况,JavaScript会对变量的数据类型进行转换。

目录

* if中的条件会被自动转为Boolean类型 * 会被转为false的数据 * 会被转为true的数据 * 参与+运算都会被隐式的转为字符串 * 会被转为空字符串的数据 * 会被转为字符串的数据 * 会被转为数据类型标记的数据 * 参与*运算都会被隐式的转为数字 * 会被转为0的数据 * 会被转为1的数据 * 会被转为NaN的数据 * == 运算符 * 为true的时候 * 为false的时候
登录后复制

if中的条件会被自动转为Boolean类型

会被转为false的数据

if(false) console.log(2333) if('') console.log(2333) if(null) console.log(2333) if(undefined) console.log(2333) if(NaN) console.log(2333)
登录后复制

会被转为true的数据

if(true) console.log(2333) // 2333 if('test') console.log(2333) // 2333 if([]) console.log(2333) // 2333 if({}) console.log(2333) // 2333
登录后复制

参与+运算都会被隐式的转为字符串

会被转为空字符串的数据

'str-' + '' // str- 'str-' + []
登录后复制

会被转为字符串的数据

'str-' + '1' // "str-1" 'str-' + 1 // "str-1" 'str-' + false // "str-false" 'str-' + true // "str-true" 'str-' + null // "str-null" 'str-' + undefined // "str-undefined" 'str-' + NaN // "str-NaN"
登录后复制

会被转为数据类型标记的数据

'str-' + {} // "str-[object Object]" 'str-' + {a:1} // "str-[object Object]"
登录后复制

参与*运算都会被隐式的转为数字

会被转为0的数据

2 * '' // 0 2 * [] // 0 2 * false // 0
登录后复制

会被转为1的数据

2 * '1' // 2 2 * [1] // 2 2 * true // 2
登录后复制

会被转为NaN的数据

2 * {} // NaN 2 * {a:1} // NaN
登录后复制

== 运算符

为true的时候

0 == false // true 0 == '' // true 0 == '0' // true 0 == [] // true 0 == [0] // true 1 == true // true 1 == '1' // true 1 == [1] // true [1] == true // true [] == false // true
登录后复制

为false的时候

0 == {} // false 0 == null // false 0 == undefined // false 0 == NaN // false 1 == {} // false 1 == null // false 1 == undefined // false 1 == NaN // false [] == [] // false [1] == [1] // false [1] == {} // false [1] == {a:1} // false [1] == false // false [1] == null // false [1] == undefined // false [1] == NaN // false {} == {} // false {a:1} == {a:1} // false
登录后复制

注:空数组[],在+运算符下是转为空字符串'',在*运算符下是转为数字0。但在if语句中,则转为true。

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

JS点击循环切换播放图片

JS实现选择题测评系统

js实现动态的流程进度展示条

以上是JS隐式类型转换总结的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!