原型鏈怎樣給類下面的例項新增例項屬性和例項方法

2022-01-21 20:05:12 字數 544 閱讀 3725

在這裡要用到prototype這個關鍵字了,通過這個關鍵字可以給類下面的例項新增例項屬性和方法,話不多說,直接上**

**例項如下:

function person(name) 

var p1 = new person("zhangsan");

person.prototype.age = 18; //為類下面的例項新增例項屬性

person.prototype.speak = function() ;

p1.speak();

當程式載入person函式時,會為person構造器建立person原型物件,他們是獨立存在的,構造器中有乙個prototype屬性指向了原型物件,原型物件中有乙個constructor屬性指向構造器,當person類的例項在使用乙個不存在的屬性時,會自動到person構造器的原型物件中去找

原理如下圖所示:

js類與原型鏈

js中建立乙個類很容易,如下所示 class person let p1 newperson let p2 newperson console.log p1 console.log p2 script 以上建立乙個類,並且建立它的例項p1 和p2,輸出可以看到輸出兩個person例項 但是,我們例項...

取到類下面的方法的3種方式

class foo sta ass def fun1 self print self print fun1 list display fun1,sta 當是例項方法去呼叫的時候,可以不傳self進去,少傳乙個引數 注意區分函式和方法 第一種方式 name foo.fun1.name 拿到這個下面方法...

類的建立和繼承,原型鏈

類的建立new乙個function,在這個function的prototype裡面增加屬性和方法。原型繼承 無法給建構函式傳遞引數,改變不了裡面的值 student.prototype new person student.prototype.constructor student 借用建構函式可以...