JS原型和原型鏈

2022-05-01 16:39:10 字數 1335 閱讀 4996

### 建構函式

function person()

### 通過new關鍵字建立乙個物件例項

var p1 = new person();

### 每乙個函式都有乙個prototype屬性

### 每乙個js物件(null除外)在建立的時候都有乙個物件與之關聯,這個就是我們所說的原型,每個物件都會從原型中繼承屬性

function person()

var p1 = new person();

person.prototype.name = "star";

console.log(p1.name);//star

### 每乙個js物件(null除外)都有乙個__proto__屬性,指向關聯物件的原型prototype

console.log(p1.__proto__ === person.prototype);//true

### constructor  每個物件的原型prototype都有乙個constructor屬性指向關聯的建構函式,例項原型指向建構函式

console.log(person === person.prototype.constructor);//true

console.log(p1.__proto__.constructor === person);///true

//建立乙個建構函式person

function person()

var p1 = new person();//建立乙個例項物件p1

person.prototype.name = "chen";

p1.name = "star";

console.log(p1.name);//star

delete p1.name;

console.log(p1.name);//chen

console.log(p1.__proto__ === person.prototype);//  true例項的__proto__等於關聯物件的prototype

console.log(p1.__proto__.constructor);//[function person]

var p2 = new object();

object.name = "xing";

console.log(object === object.prototype.constructor);//每乙個原型都有乙個constructor屬性指向關聯的建構函式,例項原型指向建構函式

console.log(object.prototype.__proto__);

JS原型和原型鏈

建立建構函式 function word words word.prototype 建立例項 var w new word hello world w.print function w.print hello world w.alert hello world function.prototype....

js原型鏈和原型

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

JS 原型和原型鏈

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