问题标签 [object-create]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
10128 浏览

node.js - NodeJS 中的 Object.create

与 FireFox 相比,Object.create 在 Nodejs 中的工作方式不同。

假设一个像这样的对象:

上面的 javascript 在 Mozilla 中完美运行。它基本上使用传递给 Object.create 的第二个参数来设置默认值。

但这在 Node.js 中不起作用。我得到的错误是TypeError: Property description must be an object: true.

我怎样才能让它在 Node 中工作?我想基本上创建一个具有默认值的对象。

0 投票
1 回答
33 浏览

javascript - 为什么“var derived1 = new Object(base)”不将 derived1.prototype 设置为 base?

给定以下代码示例:

我曾期望 isProto1Base 和 isProto2Base 都是真的。但是,isProto1Base === false 和 isProto2Base === true。这是为什么?

编辑:固定标题以反映代码

0 投票
1 回答
59 浏览

javascript - 在 javascript 中扩展 Object.create()

我正在扩展Object.create()以接受第二个论点,例如

我只是想知道Object.create()以这种方式使用是否有任何陷阱?如果我要使用它,我会对函数中的 arg 参数进行一些额外的检查,Object.create()但重点是找出这是否会导致任何问题或是否过度杀伤等。

0 投票
1 回答
1001 浏览

oop - 只有一种具体类类型的工厂设计模式

嗨,我希望我能够清楚地解释我自己一直很困惑的这个问题。

我有一个名为 UTModule 的具体类,它根本不是子类,但它由几个不同的抽象对象(例如 UTListener、UTRenderer、UTDeliverer)组成,这些抽象类到具体对象的实例化定义了我完成的 UTModule 对象的行为.

我要问的问题是,我看到的工厂设计模式的每个示例都与子类化的抽象对象有关,而我的对象是具体类,其行为由其组成决定。

我应该为每个复合抽象对象创建一个工厂吗?或者只是创建一个工厂来创建我的 UTModule,并根据客户的请求使用正确的复合对象?

提前致谢!

0 投票
2 回答
323 浏览

javascript - 在 Node.js 中调用 Object.create(new EventEmitter) 是什么意思

我已经阅读了关于 Object.create 的 MDN 文档。它只指出了第一个参数是原型时的场景。但是,我在 Node.js 中看到了一些这样的代码:

那么Object.create()当它的第一个参数是一个对象时会做什么呢?

0 投票
3 回答
2300 浏览

javascript - javascript构造函数和object.create可以结合吗?

更新

如果这是不可能的,请随时提供解释原因的答案。我很乐意标记它已接受。


我想稍微简化以下代码(对象“声明”的两个步骤,我想要一个):

我想一次性创建整个函数原型,构造函数出现在 Object.create 中的某处。也许,是这样的:

但是,当我调用时new Basher(),我得到:'TypeError: object is not a function'。

虽然我意识到我可以使用语法糖(一个帮助程序库)来做到这一点,但我的目标是让事情尽可能简单,并对 JS 对象、原型、构造函数内部结构有所了解。我试图尽可能多地阅读:SO相关问题CrockfordBen NadelJoost Diepenmaat

也许我还没有找到正确的表述,或者我正在与 Object.create 的设计理念作斗争,或者语言不允许这样做。也许,这真的只是一种风格上的东西,因此,一种自负。

当然,我可以忍受两步过程(捣碎器)。一次将所有内容打包在一起感觉不错(巴舍尔)。

有没有办法做到这一点?谢谢。

0 投票
2 回答
109 浏览

javascript - 是否可以使用 Object.create 模式来创建 CustomEvent 对象?

我知道你可以创建一个CustomEvent这样的:

我想知道如何在不使用new,Object.create模式的情况下做到这一点?

我没有看到解决方案的问题是它CustomEvent需要两个参数:一个指定事件名称的字符串,以及一个包含bubblescancelabledetails属性的配置对象。我不确定如何将字符串和对象都传递给Object.create.

最终,我希望能够以以下标准方式使用此自定义事件:

0 投票
1 回答
75 浏览

java - 我想用 Java 编写一个函数,它接受一个字符串作为参数并创建一个同名的对象

假设我正在获取人名并想创建同名的人对象,如下所示:

这样以后我就可以通过名字来指代这个人,比如:

0 投票
5 回答
5319 浏览

java - 在 Java 中创建对象时避免“新”关键字的好处

我发现了一些博客,其中建议new在创建类的对象时避免使用关键字。new创建没有关键字的对象的一些示例是-

或使用clone()方法 -

然后在这里我找到了一些创建没有new关键字的对象的好例子

我可以理解“工厂”模式的优点,同时避免new代码主要部分的关键字。如果我没有使用任何设计模式(用于创建对象),那么在没有new关键字的情况下创建对象有什么好处吗?或者没有创建对象的原因是什么new

0 投票
2 回答
2060 浏览

java - 指向子类对象的父类引用

我对对象生命周期感到困惑。如果指向子类对象和方法的父类引用被覆盖。例如

现在如果我创建主类

我理解的对象生命周期是否正确?如果没有请指导我。

  1. 新的Child()构造函数被调用

  2. 通过super()方法父类构造函数(默认构造函数)被调用

  3. 现在根据对象生命周期调用第一个构造函数并将display()父类中的方法的具体方法存储在堆中。

  4. 在子类构造函数完成执行后method1()display()方法被存储在堆内存中。

现在,如果我调用p.display()它来执行子类display()方法,但是如果您看到父类和子类display()方法都存储在堆内存中。

如果这种行为正确,那么display()在堆中存储父方法有什么用。