js判斷資料型別

2021-09-24 04:20:43 字數 947 閱讀 9652

通過對乙個值使用 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 判斷...