課程
/前端開發
/JavaScript
/JavaScript深入淺出
為什么要重新定義一個typeOf函數,為什么不直接用內置的typeof呢
2017-12-19
源自:JavaScript深入淺出 1-6
正在回答
?先是判斷兩個是否都為數組,然后判斷兩數組長度是否一樣,接下來就是判斷兩數組元素類型了,就是 function typeOf(){}??
?因為typeof主要用于原始類型(就是 number? string Boolean? null undefined ) 遇到對象類型只會返回 object,無法具體細分, 也就是說遇到 Date window? array 等對象類型是都會返回 object?
所以還要用 instanceof 來檢測不同的對象類型? 如:
else if( ele instanceof === Array )? r = ' array ';? else if ( ele === window)? r = ' window ' ; else if ( ele instanceof? Date)? r = ' date '?
所以肯定要再寫個 function 了...? ?
linkq 提問者
慕斯6055237
舉報
由淺入深學習JS語言特性,且解析JS常見誤區,從入門到掌握
2 回答這一節答案里的函數typeOf可以自定義?
1 回答為什么typeof(function(){ }) 返回的是function
5 回答typeof和toString有什么區別
4 回答typeof function 的問題,直接輸入會報錯?
6 回答typeof obj.toString????
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2017-12-19
?先是判斷兩個是否都為數組,然后判斷兩數組長度是否一樣,接下來就是判斷兩數組元素類型了,就是 function typeOf(){}??
?因為typeof主要用于原始類型(就是 number? string Boolean? null undefined ) 遇到對象類型只會返回 object,無法具體細分, 也就是說遇到 Date window? array 等對象類型是都會返回 object?
所以還要用 instanceof 來檢測不同的對象類型? 如:
else if( ele instanceof === Array )? r = ' array ';? else if ( ele === window)? r = ' window ' ; else if ( ele instanceof? Date)? r = ' date '?
所以肯定要再寫個 function 了...? ?