首頁 >web前端 >js教程 >JS隱式型別轉換總結

JS隱式型別轉換總結

php中世界最好的语言
php中世界最好的语言原創
2018-04-18 14:58:021940瀏覽

這次帶給大家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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn