JS原型和原型鏈

2021-08-21 05:12:05 字數 1839 閱讀 3375

//建立建構函式

function

word(words)

word.prototype =

}//建立例項

var w =

new word(

"hello world");

w.print =

function()

w.print();

//hello world

w.alert();

//hello world

function.prototype.a =

"a";

object.prototype.b =

"b";

function

person(){}

console.log(person);

//function person()

let p =

new person();

console.log(p);

//person {} 物件

console.log(p.a);

//undefined

console.log(p.b);

//b

console.log(p.__proto__.constructor);

//function person(){}

console.log(p.__proto__.__proto__);

//物件{},擁有很多屬性值

返回的結果為建構函式本身,p.__proto__.__proto__

有很多引數

得到擁有多個引數的object()函式,person.prototype的隱式原型的constructor指向object(),即person.prototype.__proto__.constructor == object()

返回的結果為建構函式本身得到person.prototype.constructor == person()

所以p.___proto__.__proto__== object.prototype 

console.log(p.__proto__.__proto__.__proto__);

//null

console.log(

object.prototype.__proto__);

//null

//function

function

function(){}

console.log(

function);

//function()

console.log(

function.prototype.constructor);

//function()

console.log(

function.prototype.__proto__);

console.log(

function.prototype.__proto__.__proto__);

//null

console.log(

function.prototype.__proto__.constructor);

//object()

console.log(

function.prototype.__proto__ ===

object.prototype);

//true

4.__proto__

js原型鏈和原型

1 原型 在js中一切皆物件,那原型也是乙個物件,通過原型可以實現物件的屬性繼承,js的物件中包含著乙個 prototype 內部屬性,這個屬性所對應的就是物件的原型。prototype 作為物件的內部屬性不能被直接訪問,所以為了方便檢視乙個物件的原型,提供了 proto 這個非標準的訪問器,在js...

JS 原型和原型鏈

先宣告乙個建構函式 function people name,age 把類的方法寫在建構函式原型物件中,子類就不能再通過呼叫父類建構函式來繼承方法 屬性還是可以繼承 給people的原型新增方法 people.prototype.speak function 建立子類繼承people functio...

js原型和原型鏈

一 從圖理解js原型與原型鏈 紅色部分 1 所有函式都有乙個prototype指標,指向原型物件,prototype指標的意義是 當我們使用這個建構函式new出新物件的時候,新物件的原型是誰。2 建構函式的prototype所指向的原型物件有乙個constructor指標,指回建構函式constru...