Heim  >  Artikel  >  Web-Frontend  >  Zusammenfassung der impliziten JS-Typkonvertierung

Zusammenfassung der impliziten JS-Typkonvertierung

php中世界最好的语言
php中世界最好的语言Original
2018-04-18 14:58:021829Durchsuche

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn