function Foo(){};
// Foo.prototype = "dood"
let F1 = new Foo();
// F1.prototype = "dood"
// 原型属性: __proto__, 原型对象: prototype
console.log(Foo.prototype)
//> [object Object] { ... }
console.log(Foo.__proto__)
//> [object Object] { ... }
>
console.log(
'========================================='
)
console.log(F1.prototype)
// > undefined
console.log(F1.__proto__)
// > [object Object] { ... }
console.log(
'========================================='
)
console.log( Object.prototype.constructor )
console.log( Object.__proto__ )
//> function Object() { [native code] }
console.log(
'========================================='
)
function Fun(){};
Fun.prototype = {name:"func"}
let Fun2 = new Fun();
Fun2.prototype = {name:"Fun2"}
function Fun3(){}
Fun3.__proto__ = Fun2.prototype
console.log(Fun2.__proto__)
console.log(Fun3.__proto__)
console