<h4> Instanceof 的功能類似與 typeof </h4>
對于值類型,你可以通過typeof判斷,string/number/boolean都很清楚,但是typeof在判斷到引用類型的時候,返回值只有object/function,你不知道它到底是一個object對象,還是數(shù)組,還是new Number等等。
nstanceof運(yùn)算符的第一個變量是一個對象,暫時稱為A;第二個變量一般是一個函數(shù),暫時稱為B。
Instanceof的判斷隊(duì)則是:沿著A的proto這條線來找,同時沿著B的prototype這條線來找,如果兩條線能找到同一個引用,即同一個對象,那么就返回true。如果找到終點(diǎn)還未重合,則返回false。
<h3>分別舉栗子</h3>
<strong> typeof 判斷類型是什么,比如:</strong>
var a = 1;
var b = {};
var c = [];
function d() {
}
console.log(typeof (a));
console.log(typeof (b));
console.log(typeof (c));
console.log(typeof (d));
輸出結(jié)果:

jianshu.png
<strong>Instanceof 是判斷一個對象是否為某一數(shù)據(jù)類型,舉栗子:</strong>
function test() {
}
console.log(test instanceof Function);
console.log(Function instanceof test);
結(jié)果:

jianshu.png
<h6>看了好多文檔,得出結(jié)論 Instanceof 用在原型鏈這邊會更方便。<h6>