为什么将构造函数的原型属性设置为null
不会阻止从该函数创建的对象调用方法 on Object.prototype
,就像将原型设置为Object.create(null)
一样?
也就是说,为什么会这样:
function Foo(){}
Foo.prototype = null;
console.log(new Foo().toString); //outputs function toString() { [native code] } (or whatever)
function Foo(){}
Foo.prototype = Object.create(null);
console.log(new Foo().toString); //output undefined