通过New生成的对象:
var fun1 = new Function();
fun1.proto //{constructor: ƒ}
fun1.prototype //undefined
fun1.proto.prototype //undefined
fun1.proto.proto //{a: ƒ, constructor: ƒ, defineGetter: ƒ, defineSetter: ƒ, hasOwnProperty: ƒ, …}
fun1.proto.proto.prototype //undefined
fun1.proto.proto.proto //null
通过function生成的函数:
function fun1() {};
console.log(fun1.proto); //ƒ () { [native code] }
console.log(fun1.prototype); //{constructor: ƒ}
console.log(fun1.proto.prototype); //undefined
console.log(fun1.prototype.proto); //{constructor: ƒ, defineGetter: ƒ, defineSetter: ƒ, hasOwnProperty: ƒ, lookupGetter: ƒ, …}
console.log(fun1.prototype.prototype); //undefined
console.log(fun1.prototype.proto.proto); //null
1.函数有原型方法,对象有原型属性。
2.他们的原型属性和方法都指向的是构造函数对象,构造函数对象里的原型指向一个对象,这个对象的原型属性指向null