1. typeof
主要用於判斷資料是不是基本資料型別:string、number、object、undefined、boolean,但是無法判斷出function(有些瀏覽器會出錯)、array、regexp、null
console.log(typeof '');//string
console.log(typeof );//
object
console.log(typeof {});//
object
console.log(typeof 1);//
number
console.log(typeof
null);//
object
console.log(typeof undefined);//
undefined
console.log(typeof
true);//
boolean
console.log(typeof
function(){});//
function
console.log(typeof /\d/);//
object
2. instanceof
主要的目的是用來檢測引用型別,判斷array和regexp,無法準確判斷function
console.log( instanceof array);//true
console.log({} instanceof object);//
true
console.log(/\d/ instanceof regexp);//
true
console.log(function(){} instanceof object);//
true
console.log(function(){} instanceof function);//
true
console.log('' instanceof string);//
false
console.log(1 instanceof number);//
false
3. object.prototype.tostring
物件的乙個原生原型擴充套件函式,用來精確的區分資料型別
object.prototype.tostring.call(data).slice(8,-1) === 'array'var type=object.prototype.tostring;
console.log(type.call(''));//
[object string]
console.log(type.call());//
[object array]
console.log(type.call({}));//
[object object]
console.log(type.call(false));//
[object boolean]
console.log(type.call(null));//
[object null]
console.log(type.call(undefined));//
[object undefined]
console.log(type.call(function(){}));//
[object function]
JS資料型別之基礎資料型別
基本資料型別是按值訪問的,也就是說我們可以操作儲存在變數中的實際的值 基本資料型別的值是不可改變的,任何方法都無法改變乙個基本資料型別的值。let name qin ling ling name lisi console.log name 輸出 lisi上面的例子看來name的值好像變了,這裡的基礎...
js之資料型別轉換
js中的資料型別分為以下兩種型別。基本資料型別 數字 number,字串 string,布林 boolean,空 null,未定義 undefined 引用資料型別 物件 object 普通物件,陣列物件 array 正則物件 regexp 日期物件 date 數學函式 math 函式 functi...
JS之資料型別檢測
對於原始型別,除了 null 都可以呼叫typeof顯示正確的型別。typeof 1 number typeof 1 string typeof undefined undefined typeof true boolean typeof symbol symbol 對於引用資料型別,除了函式之外,...