Dieses Mal werde ich Ihnen eine Zusammenfassung der impliziten JS--Typkonvertierung und der Vorsichtsmaßnahmen für die implizite JS-Typkonvertierung geben. Hier ist ein praktischer Fall, werfen wir einen Blick darauf.
Im Allgemeinen gibt es vier Situationen, in denen JavaScript den Datentyp konvertiert.
Inhaltsverzeichnis
* if中的条件会被自动转为Boolean类型 * 会被转为false的数据 * 会被转为true的数据 * 参与+运算都会被隐式的转为字符串 * 会被转为空字符串的数据 * 会被转为字符串的数据 * 会被转为数据类型标记的数据 * 参与*运算都会被隐式的转为数字 * 会被转为0的数据 * 会被转为1的数据 * 会被转为NaN的数据 * == 运算符 * 为true的时候 * 为false的时候
Die Bedingungen in if werden automatisch in den booleschen Typ
konvertiert Daten, die in „falsch“ umgewandelt werden
if(false) console.log(2333) if('') console.log(2333) if(null) console.log(2333) if(undefined) console.log(2333) if(NaN) console.log(2333)
Daten, die in wahr umgewandelt werden
if(true) console.log(2333) // 2333 if('test') console.log(2333) // 2333 if([]) console.log(2333) // 2333 if({}) console.log(2333) // 2333
Jeder, der an der +-Operation teilnimmt, wird implizit in eine Zeichenfolge
konvertiert Daten, die in eine leere Zeichenfolge
'str-' + '' // str- 'str-' + []
konvertiert werden Daten, die in einen String konvertiert werden
'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"
Daten, die in Datentyp-Tags
'str-' + {} // "str-[object Object]" 'str-' + {a:1} // "str-[object Object]"
konvertiert werden Jeder, der an der *-Operation teilnimmt, wird implizit in eine Zahl umgewandelt
Daten, die in 0 umgewandelt werden
2 * '' // 0 2 * [] // 0 2 * false // 0
Daten, die in 1 umgewandelt werden
2 * '1' // 2 2 * [1] // 2 2 * true // 2
Daten, die in NaN konvertiert werden
2 * {} // NaN 2 * {a:1} // NaN
== Operator
Wenn es wahr ist
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
Wenn es falsch ist
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
Hinweis: Das leere Array [] wird unter dem +-Operator in die leere Zeichenfolge '' und unter dem *-Operator in die Zahl 0 umgewandelt. Aber in der if-Anweisung wird es wahr.
Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!
Empfohlene Lektüre:
JS klicken, um zu wechseln und Bilder abzuspielen
JS implementiert ein Multiple-Choice-Bewertungssystem
JS implementiert eine dynamische Prozessfortschrittsanzeigeleiste
Das obige ist der detaillierte Inhalt vonZusammenfassung der impliziten JS-Typkonvertierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!