Javascript原型鏈及instanceof原理詳解
instanceof:用來(lái)判斷實(shí)例是否是屬于某個(gè)對(duì)象,這個(gè)判斷依據(jù)是什么呢?
首先,了解一下javascript中的原型繼承的基礎(chǔ)知識(shí):
javascript中的對(duì)象都有一個(gè)__proto__屬性,這個(gè)是對(duì)象的隱式原型,指向該對(duì)象的父對(duì)象的原型(prototype)。顯式的原型對(duì)象使用prototype,但是Object.prototype.proto=null;
判斷某個(gè)對(duì)象a是否屬于某個(gè)類A的實(shí)例,可以通過(guò)搜索原型鏈。
實(shí)例對(duì)象屬性查找順序是:實(shí)例對(duì)象內(nèi)部---->構(gòu)造函數(shù)原型鏈---->實(shí)例對(duì)象父對(duì)象的原型鏈。
//繼承機(jī)制
function A(){
}
A.prototype.name='licui';
function B(){
}
B.prototype = new A();
var a = new A();
var b = new B();
//b.name = 'hello';
console.log('A:',A);
console.log('B:',B);
console.log('a:',a);
console.log('b:',b);
console.log('A.prototype',A.prototype);
console.log('B.prototype',B.prototype);
console.log('a._proto_',a.__proto__);
console.log('b._proto_',b.__proto__);
console.log('a instanceof A:',a instanceof A);
console.log('a instanceof Object:',a instanceof Object);
console.log('b instanceof B:',b instanceof B);
console.log('b instanceof A:',b instanceof A);
console.log('b instanceof Object:',b instanceof Object);
執(zhí)行結(jié)果

constructor:是原型prototype上的屬性,實(shí)例上不具有該屬性。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
javascript String 的擴(kuò)展方法集合
String 的擴(kuò)展方法集合,可以是javascript對(duì)string的功能更多2008-06-06
JavaScript實(shí)現(xiàn)的聯(lián)動(dòng)菜單特效示例
這篇文章主要介紹了JavaScript實(shí)現(xiàn)的聯(lián)動(dòng)菜單特效,涉及javascript事件響應(yīng)及頁(yè)面元素屬性動(dòng)態(tài)操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-07-07
可以用鼠標(biāo)拖動(dòng)的DIV實(shí)現(xiàn)思路及代碼
DIV可以拖動(dòng)的效果,想必大家都有見(jiàn)到過(guò)吧,在本文也為大家實(shí)現(xiàn)一個(gè)不錯(cuò)的可以用鼠標(biāo)拖動(dòng)的div,感興趣的各位不要錯(cuò)過(guò)2013-10-10
JavaScript之BOM?location對(duì)象+navigator對(duì)象+history?對(duì)象
這篇文章主要介紹了JavaScript?BOM中的?location對(duì)象、navigator對(duì)象、history?對(duì)象,下面圍繞他們的相關(guān)語(yǔ)法及各種資料展開(kāi)文章詳細(xì)內(nèi)容,需要的小伙伴可以參考一下,希望對(duì)大家有所幫助2021-12-12
JavaScript使用高階生成器進(jìn)行過(guò)濾以生成素?cái)?shù)
生成器大家都知道是怎么一回事,但是高階生成器又是什么東西呢,下面小編就來(lái)為大家簡(jiǎn)單介紹一下如何使用高階生成器進(jìn)行過(guò)濾以生成素?cái)?shù)吧2024-02-02
分享幾種比較簡(jiǎn)單實(shí)用的JavaScript tabel切換
這篇文章主要分享幾種比較簡(jiǎn)單實(shí)用的JavaScript tabel切換 的相關(guān)資料,需要的朋友可以參考下2015-12-12
詳解CocosCreator優(yōu)化之DrawCall
這篇文章主要介紹了CocosCreator中DrawCall的優(yōu)化,想研究游戲性能的同學(xué),一定要看一看2021-04-04

