源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

对存在JavaScript隐式类型转换的四种情况的总结(必看篇)

  • 时间:2020-01-01 22:56 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:对存在JavaScript隐式类型转换的四种情况的总结(必看篇)
一般存在四种情况,JavaScript会对变量的数据类型进行转换。 [b]目录 [/b]
* if中的条件会被自动转为Boolean类型
 * 会被转为false的数据
 * 会被转为true的数据
* 参与+运算都会被隐式的转为字符串
 * 会被转为空字符串的数据
 * 会被转为字符串的数据
 * 会被转为数据类型标记的数据
* 参与*运算都会被隐式的转为数字
 * 会被转为0的数据
 * 会被转为1的数据
 * 会被转为NaN的数据
* == 运算符
 * 为true的时候
 * 为false的时候
[b]if中的条件会被自动转为Boolean类型[/b] [b]会被转为false的数据[/b]
if(false) console.log(2333)
if('') console.log(2333)
if(null) console.log(2333)
if(undefined) console.log(2333)
if(NaN) console.log(2333)
[b]会被转为true的数据[/b]
if(true) console.log(2333) // 2333
if('test') console.log(2333) // 2333
if([]) console.log(2333) // 2333
if({}) console.log(2333) // 2333
[b]参与+运算都会被隐式的转为字符串[/b] [b]会被转为空字符串的数据[/b]
'str-' + '' // str-
'str-' + []
[b]会被转为字符串的数据[/b]
'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"
[b]会被转为数据类型标记的数据[/b]
'str-' + {} // "str-[object Object]"
'str-' + {a:1} // "str-[object Object]"
[b]参与*运算都会被隐式的转为数字[/b] [b]会被转为0的数据[/b]
2 * '' // 0
2 * [] // 0
2 * false // 0
[b]会被转为1的数据[/b]
2 * '1' // 2
2 * [1] // 2
2 * true // 2
[b]会被转为NaN的数据 [/b]
2 * {} // NaN
2 * {a:1} // NaN
[b]== 运算符[/b] [b]为true的时候[/b]
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
[b]为false的时候[/b]
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
[b]注:[/b]空数组[],在+运算符下是转为空字符串'',在*运算符下是转为数字0。但在if语句中,则转为true。 以上这篇对存在JavaScript隐式类型转换的四种情况的总结(必看篇)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程素材网。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部