1. 程式人生 > >JS面向物件--prototype(原型鏈)小解

JS面向物件--prototype(原型鏈)小解

1.問題:Object建構函式是否與之隊型的Object原型物件

//首先自定義一個建構函式Person
Object.prototype.info=function(){
	alert(1);
}//Object中的原型物件中定義一個info屬性,屬性值為函式
function Person(username)
{
	this.username=username;
}
var Bob=new Person("bob");
console.log(Bob.username);

說明: Person的原型物件就是:Person.prototype Person原型物件中有一個名為constructor的屬性,他指向Person 而Person.prototype本身也是一個物件,通過new.Object();進行例項化 而對於直接Object定義的物件例項而言 Object()類---->有與之對應的原型物件,即為Object.prototype Object原型物件中有一個名為constructor的屬性,他指向Object

二.問題:Person原型物件指向Object的原型物件有什麼作用

var p1=new Person("張三");
p1.info();

說明:此時p1會往下尋找屬性info,先找到建構函式Person的原型物件,然後往下尋找Person原型物件的原型物件,也就是Object物件的原型物件。因此只要在Object的原型物件中定義info屬性就可以實現物件屬性定義