這篇文章將為大家詳細講解有關typeof和instanceof有哪些區別,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
typeof和instanceof的區別是:typeof的返回值是一個字符串,用來說明變量的數據類型;instanceof的返回值是布爾值,用于判斷一個變量是否屬于某個對象的實例。
比較typeof與instanceof
相同點:
JavaScript 中 typeof 和 instanceof 常用來判斷一個變量是否為空, 或者是什么類型的。
不同點:
typeof:
1、返回值是一個字符串, 用來說明變量的數據類型。
2、typeof 一般只能返回如下幾個結果: number, boolean, string, function, object, undefined。
if (typeof a != "undefined") { console.log("ok"); } eles { console.log("not ok"); } //下面的代碼是錯誤的 // if (a) //因為如果 a 不存在( 未聲明) 則會出錯。 // if (a) { // console.log("ok"); // } else { // console.log('cc'); // }
對于 Array, Null 等特殊對象使用 typeof 一律返回 object, 這正是 typeof 的局限性。
instanceof:
1、返回值為布爾值
2、instanceof 用于判斷一個變量是否屬于某個對象的實例。
// var a = new Array(); // alert(a instanceof Array); // true // alert(a instanceof Object) // true //如上, 會返回 true, 同時 alert(a instanceof Object) 也會返回 true; // 這是因為 Array 是 object 的子類。 // alert(b instanceof Array) // b is not defined // function Test() {}; // var a = new test(); // alert(a instanceof test) // true
關于typeof和instanceof有哪些區別就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。