javascript 原型鏈

測試代碼以下es6

//------1
function Foo () {
console . log ( "Foo..." );
}
 
Foo . prototype . fooF1 = () => {
console . log ( "Foo fooF1..." )
};
Foo . prototype . fooA1 = 11 ;
 
//-----------2
Object . prototype . objF1 = () => {
console . log ( "Object objF1..." )
};
Object . prototype . objA1 = 22 ;
 
//-----3
Function . prototype . funF1 = () => {
console . log ( "Function funF1..." );
};
Function . prototype . funA1 = 33 ;
 
Function . prototype . __proto__ . funPF1 = () => {
console . log ( "Function funPF1..." )
};
Function . prototype . __proto__ . funPA1 = 44 ;
 
let f1 = new Foo ();
let f2 = new Foo ();
 
let o1 = new Object ();
let o2 = new Object ();
 
//-----4
class Person {
constructor ( name ) {
this . name = name ;
console . log ( "Person constructor..." );
}
 
pF2 () {
console . log ( "Person pf2... " , this . name );
}
}
 
let p1 = new Person ( 'lg' );
let p2 = new Person ( 'lp' );
Person . prototype . age = 12 ;
Person . prototype . work = function () {
console . log ( "Person work... " , this . age )
}
圖與代碼配合,更容易理解js的原型鏈。es6以後的面向對象也是統一在原型鏈中的。
相關文章
相關標籤/搜索