1. typeof 運算符 typeof 可以判斷基本數據類型: typeof 123; // "number" typeof 'abc'; // "string" typeof true; // "boolean" 碰到複合數據類型的情況: typeof {}; // "object" typeo ...
1. typeof 運算符
typeof 可以判斷基本數據類型:
typeof 123; // "number"
typeof 'abc'; // "string"
typeof true; // "boolean"
碰到複合數據類型的情況:
typeof {}; // "object"
typeof []; // "object"
var f = function(){};
typeof f; //'function'
特殊情況:
1.typeof null; // "object" 這是歷史遺留問題,不做深究,是個隱藏的坑
2. typeof undefined; (undefined指未定義的變數)// “undefined”
利用這個特點 用於判斷語句
if (v) { // ... } // ReferenceError: v is not defined // 正確的寫法 if (typeof v === "undefined") { // ... }
綜上,利用typeof 得到值就有"number","string","boolean","object","function","undefined" 這6個值
2. instanceof 運算符
對於對象和數組這種數據,利用typeof不能區分,這時候需要用到instanceof 運算符
var o = {}; var a = []; o instanceof Array // false a instanceof Array // true