在Chrome的JavaScript控制台中:

function placeOrder() {
        return 1;
};
undefined
console.log(placeOrder.prototype);
placeOrder {}


但是在IE 11中,默认的原型属性似乎是一个空对象。
我想知道Chrome中的对象“ placeOrder {}”是什么?
我也在Firefox中对其进行了测试。在Firefox中,prototype属性也是“ placeOrder {}”。

在IE 11控制台中:

function placeOrder() {
        return 1;
};
undefined
console.log(placeOrder.prototype);
undefined
[object Object]{}


谢谢。

最佳答案

它是一个从Object.prototype继承并具有自己的constructor属性,其值是构造函数的对象。

Creating Function Objects


  
  假设proto是创建新对象的结果,该对象将由表达式new Object()构造,其中Object
  具有该名称的标准内置构造函数。
  使用参数"constructor"Property Descriptor {[[Value]]:F,{调用原型的[[DefineOwnProperty]]内部方法
  [[可写]]:是,[[可枚举]]:否,[[可配置]]:
  真假。
  调用F的[[DefineOwnProperty]]内部方法,其参数为"prototype"Property Descriptor {[[Value]]:proto,
  {[[Writable]]:是,[[Enumerable]]:否,[[Configurable]]:
  false}和false。

10-08 16:46