//建立建構函式
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...