gpt4 book ai didi

prototypejs - 在 JavaScript 中创建另一个对象的实例

转载 作者:行者123 更新时间:2023-12-02 21:50:03 25 4
gpt4 key购买 nike

我想知道这句话是否正确?

你可以这样做:

var a = new A();

当且仅当Ainstanceof Function

简单地,您可以创建函数的实例,并且您知道函数是一个对象。为什么我们不能创建其他用户定义对象的实例?像这样:

var b={};
var c = new b(); //error

编辑:如何更改 b 以便我可以创建它的实例?

最佳答案

您实际上可以使用 Object.create() 来围绕 ECMAscript 的原型(prototype)性质添加一些糖分。喜欢

var b = { };
var c = Object.create( b );

现在,c 的原型(prototype)链上将有 b。 ECMAscript 或更准确地说,原型(prototype)继承的工作方式与“经典继承”并不完全相同。通过在调用函数时调用new,您实际上也会收到一个新创建的对象。您可以通过构造函数中的 this 值修改和访问该对象。

但是,到目前为止你还没有继承任何东西。在创建它的实例之前,您需要为构造函数创建并填充 .prototype 对象。这种模式惹恼了很多人,因此 ES5 提供了一种更方便的方法,使用 Object.create() 直接从其他对象继承。

关于prototypejs - 在 JavaScript 中创建另一个对象的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12206718/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com