Heim  >  Artikel  >  Web-Frontend  >  Bei der Verwendung des Operators „typeof“ in JavaScript_javascript-Tipps müssen Sie einige Fallstricke beachten

Bei der Verwendung des Operators „typeof“ in JavaScript_javascript-Tipps müssen Sie einige Fallstricke beachten

WBOY
WBOYOriginal
2016-05-16 16:32:081512Durchsuche

Typeof ist ein Operator und das Ergebnis, das er an den Operanden zurückgibt, ist eine Zeichenfolge. Es gibt 6 Typen (nur für ES, ausgenommen HOST-Umgebungsobjekte).

1.'undefiniert'
2.'boolean'
3.'string'
4.'Nummer'
5.'Objekt'
6.'Funktion'

Da es sich selbst um einen Operator handelt, handelt es sich nicht um eine Funktion. Daher müssen bei der Verwendung keine Klammern hinzugefügt werden.

Code kopieren Der Code lautet wie folgt:

if (typeof(obj) === 'undefiniert') {
// ...
}

typeof wird zur Bestimmung des Typs verwendet, birgt jedoch mehrere Fallstricke

1. Die Rückgabe von Null ist „Objekt“, aber Sie können es nicht wirklich als Objekt verwenden.

Code kopieren Der Code lautet wie folgt:

var obj = null
if (typeof obj === 'object') {
Obj.a() // Fehler hier gemeldet
}

2. Der Rückgabewert für NaN ist „Zahl“, Sie können ihn jedoch nicht für arithmetische Operationen verwenden.

Code kopieren Der Code lautet wie folgt:

var obj = {}
var num = parseInt(obj.a)
if (typeof num === 'number') {
num = num 10 // Nach der Ausführung ist num immer noch NaN
}

3. Objekte, Arrays und reguläre Ausdrücke können nicht unterschieden werden und Operationen auf ihnen geben alle „Objekt“ zurück.

Code kopieren Der Code lautet wie folgt:

var obj = {}
var arr = []
var reg = /pop/g
console.log(typeof obj) // 'object'
console.log(typeof arr) // 'object'
console.log(typeof reg) // 'object'

4. Safar5 und Versionen vor Chrome7 geben „Funktion“ für reguläre Objekte zurück.

Fügen Sie abschließend die Erklärung in die Spezifikation ein

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