相关疑难解决方法(0)

JavaScript函数的原型属性的初始值是多少?

我知道prototypeJavaScript函数对象的属性被复制到使用该函数作为构造函数实例化的对象的内部[[Prototype]]属性(也称为__proto__).所以,我可以将此属性设置为我想要充当原型的任何对象:

function Foo() {}
Foo.prototype = {
  toString: function() { return "I'm a Foo!"; }
}
new Foo().toString()
// --> "I'm a Foo!"
Run Code Online (Sandbox Code Playgroud)

看起来普遍的做法是添加应该作为类方法的函数来处理新生成的函数的现有原型,如下所示:

function Bar() {}
Bar.prototype.toString = function() {
  return "I'm a Bar!";
}
new Bar().toString()
// --> "I'm a Bar!"
Run Code Online (Sandbox Code Playgroud)

但是,我不清楚该物业的初始价值是多少prototype.

function Baz() {}
Baz.prototype
// --> Baz {
//       constructor: function Baz() {},
//       __proto__: Object
//     }
Run Code Online (Sandbox Code Playgroud)

该评论显示了Chrome的JavaScript控制台打印的内容.这是否意味着我创建的每个函数实际上都创建了两个对象?一个用于功能本身(constructor)和一个用于其原型?

这是在ECMAScript标准中的某个地方定义的吗?我试图找到它但不能.所有浏览器都以同样的方式处理这个问题吗?

javascript prototype

6
推荐指数
1
解决办法
1258
查看次数

标签 统计

javascript ×1

prototype ×1