測試代碼以下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以後的面向對象也是統一在原型鏈中的。