型別檢測分為五種:
1.typeof
2.(物件)obj instanceof
object(函式物件、函式構造器)//左邊的運算元的物件的原型鏈上是否有右操作函式構造器的prototype屬性
例子:
[1,2] instanceof array===true;
new object() instanceof array===false;
3.object.prototype.tostring
例子:
var arr=[1,2];
//通過call指定arr陣列為object.prototype物件中的tostring方法的上下文
object.prototype.tostring.call(arr); //"[object array]"
4.constructor //constructor 屬性返回對建立此物件的陣列函式的引用。
例子1:
輸出:
this is an array
例子2:
function employee(name,job,born)
var bill=new employee("bill gates","engineer",1985);
document.write(bill.constructor);
輸出:function employee(name, job, born)
5.duck type
typeof
適合基本型別及function 檢測,遇到null失效
[[class]] object.prototype.tostring
通過{}.tostring拿到適合內建物件和基元型別,遇到null和undefined失效(ie678等返回[object object])
instanceof
適合自定義物件,也可以用來檢測原生物件,在不同iframe和window間檢測時失效
js 型別檢測
1 檢測字串 數值 布林值 undefined function 使用typeof 在safari和chrome中檢測正則也會返回 function 2 檢測null 應用 3 檢測其它物件 方法一 利用instanceof constructor 再某些ie版本中存在跨iframe問題,每個ifr...
JS型別檢測
主要有兩種型別檢測 typeof 以及 instanceof 一 typeof 判斷型別 返回乙個字串 typeof 數字 number typeof 布林值 boolean typeof 字串 object typeof undefined undefined typeof null object...
js型別檢測
只適用與基本型別 1 console.log typeof langshen string 2 console.log typeof 666 number 3 console.log typeof true boolean 4 console.log typeof false boolean 5 c...