JS 型別檢測

2021-09-10 04:53:23 字數 1147 閱讀 8374

型別檢測分為五種:

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...