通過對乙個值使用 typeof 操作符會返回一下結果:
但是在實際應用中往往需要判斷乙個值是不是陣列,這時候就用到了 instanceof,我們可以使用以下方法判斷
var arr1 = [1,2,3];
console.log(arr1 instanceof array); // true 說明arr1是陣列
當然以上方法有存在漏洞,當你的專案中有多個fram,你穿梭其中的時候,由於它們的執行環境不同,跨frame例項化的物件彼此是不共享原型鏈的,因此導致上述檢測**失效
下面有一種最為簡單有效的方法,廢話不多說,直接上**了:
var arr = [1,2,3];
console.log(tostring.call(arr)==='[object array]'); // true 則說明是陣列
當然這個方法也適用於判斷其他的資料型別:
var str = '123';
console.log(tostring.call(str)); // '[object string]'
var num = 908;
console.log(tostring.call(num)); // '[object number]'
var func = function(){};
console.log(tostring.call(func)); // '[object function]'
var strnull = null;
console.log(tostring.call(strnull)); // '[object null]'
var strboolean = true;
console.log(tostring.call(strboolean)); // '[object boolean]'
js判斷資料型別
1 typeof 形如 var x xx typeof x string 返回型別有 undefined string number boolean function object 缺點 對於object型別不能細分是什麼型別 優點 對空null的判斷 undefined 的應用 2 instanc...
js判斷資料型別
了解js的都知道,有個typeof 用來判斷各種資料型別,有兩種寫法 typeof typeof 如下例項 typeof 2 輸出 number typeof null 輸出 object typeof 輸出 object typeof 輸出 object typeof function 輸出 fu...
js判斷資料型別
1 判斷是否為陣列型別 2 判斷是否為字串型別 3 判斷是否為數值型別 isnan 變數 如果為true就是數字型別 注意這個函式一般針對數字型別來判斷是否值為nan,若變數為非數字型別,則先轉化為數字型別再做判斷,用此函式時,別忘考慮空串和空格 這倆轉化為數字是0 4 判斷是否為日期型別 5 判斷...