JS判斷一個是否為函式或者為陣列(資料型別的判斷)
阿新 • • 發佈:2018-12-14
如下程式碼所示: 有幾個細節要注意 1)typeof(arr) === ‘object’ 使用typeof陣列,得到的是一個object,而不 是返回Array或者array 2)console.info(1 instanceof Number) //false 這裡之所以為false,是因為數字1為基本資料型別,而instanceof判斷一個物件是否是另一個物件的例項,基本資料型別不是物件,可以 let num = new Number(1) 就為true 3)使用typeof 判斷型別為小寫 如 object function 而不是大寫Object,Function
//判斷是否是一個數組 let a = [2,3] isArray(a) function isArray(arr){ console.info(typeof(arr) === 'object') //true console.info(arr instanceof Array) //true console.info(arr.constructor === Array)//true console.info(Object.prototype.toString.call(arr)==='[object Array]') //true } //判斷是否是一個函式 isFunction(isArray) function isFunction(fn){ console.info(typeof(fn)==='function') //true console.info(fn instanceof Function) //true console.info(fn.constructor===Function) //Function console.info(Object.prototype.toString.call(fn)==='[object Function]') //true }