简单实例
// 定义一个函数 function Foo(name) { this.name = name } // 调用函数 这个函数返回 undefined var foo = Foo('Tom') console.log(foo); // undefined // 调用构造方法 console.log(Foo); // [Function: Foo] console.log(Foo.__proto__); // [Function] console.log(Foo.constructor); // [Function: Function] console.log(Foo.prototype); // Foo {} console.log(Foo.prototype.__proto__); // {} console.log(Foo.prototype.constructor); // [Function: Foo] console.log(Foo.prototype.constructor === Foo); // true // 相当于 Foo.prototype.constructor('Tom') 返回this foo = new Foo('Tom') console.log(foo); // Foo { name: 'Tom' } console.log(foo.__proto__); // Foo {} console.log(foo.prototype); // undefined console.log(foo.constructor); // [Function: Foo] var foo1 = new Foo.prototype.constructor('Tom') console.log(foo1); // Foo { name: 'Tom' } var foo2 = new Foo('Tom') console.log(foo2); // Foo { name: 'Tom' } console.log(foo1 == foo2); // false console.log(foo1.__proto__); // Foo {} console.log(foo1.prototype); // undefined console.log(foo1.constructor); // [Function: Foo] console.log(foo2.__proto__); // Foo {} console.log(foo2.prototype); // undefined console.log(foo2.constructor); // [Function: Foo]

