JavaScriptのtypeof演算子は、いくつかのピットを注意するために使用されます

typeof演算演算子、オペランドによって返される結果は文字列であり、図6(のみESため、全くコンテキストオブジェクトホストを含​​まない)があります。

1.'undefined '
2.'boolean'
3.'string '
4.'number'
5.'object '
6.'function'

それはオペレータ自身であるので、それが使用される小型括弧を追加する必要がない機能、ではありません。

IF(typeof演算(OBJ)=== '不定'){

    // ...
}

 typeof演算の種類を決定するために使用さ、それはいくつかのピットを持っています

 

1.ヌルが返された「オブジェクト」ですが、ときにオブジェクトあなたが本当に使用することはできません。

 

OBJ =ヌルVAR
(typeof演算OBJ === 'オブジェクト'){IF
    obj.a()//このエラー
}

 

2. NaNのは「数」で返されていますが、算術演算のためにそれを使用することはできません。

VAR OBJ = {}

parseIntのNUM = VAR(obj.a)
IF(typeof演算NUM === '番号'){
    NUM = NUM + 10 numは依然としてNaN 3を後に実行される//
}

 

3.オブジェクト、配列、定期的に区別することはできません、彼らは、操作「オブジェクト」を返します。

VAR OBJ = {}

VaRのARR = []
VAR REG = /ポップ/ gで
はconsole.log(typeof演算OBJ)// 'オブジェクト'
はconsole.log(typeof演算ARR)// 'オブジェクト'
はconsole.log(typeof演算のREG)// 'オブジェクト'

 

4. Safar5は、オブジェクトのChrome7以前のバージョンでは、定期的な「関数」に返されます。

そして最後に規範の解釈に貼り付けます

 

 

おすすめ

転載: www.cnblogs.com/lezuw/p/11592030.html