在JavaScript中,函数的默认值是多少'的原型属性

In JavaScript, what is the default value of a function's prototype property?

本文关键字:属性 原型 多少 默认值 JavaScript 函数      更新时间:2023-09-26

在Chrome的JavaScript控制台中:

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

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

在IE 11控制台中:

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

谢谢。

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

请参阅创建功能对象

  1. proto是创建一个新对象的结果,该对象将由表达式new Object()构建,其中Object是具有该名称的标准内置构造函数
  2. 使用参数"constructor"调用proto的[[DefineOwnProperty]]内部方法,属性描述符{[[Value]]:F{[[可写]]:true,[[可枚举]]:false、[[可配置]]:true}和false
  3. 使用参数"prototype"调用F的[[DefineOwnProperty]]内部方法,属性描述符{[[Value]]:proto,{[[可写]]:true,[[可枚举]]:false、[[可配置]]:false}和false