问题标签 [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.
node.js - NodeJS 中的 Object.create
与 FireFox 相比,Object.create 在 Nodejs 中的工作方式不同。
假设一个像这样的对象:
上面的 javascript 在 Mozilla 中完美运行。它基本上使用传递给 Object.create 的第二个参数来设置默认值。
但这在 Node.js 中不起作用。我得到的错误是TypeError: Property description must be an object: true
.
我怎样才能让它在 Node 中工作?我想基本上创建一个具有默认值的对象。
javascript - 为什么“var derived1 = new Object(base)”不将 derived1.prototype 设置为 base?
给定以下代码示例:
我曾期望 isProto1Base 和 isProto2Base 都是真的。但是,isProto1Base === false 和 isProto2Base === true。这是为什么?
编辑:固定标题以反映代码
javascript - 在 javascript 中扩展 Object.create()
我正在扩展Object.create()
以接受第二个论点,例如
我只是想知道Object.create()
以这种方式使用是否有任何陷阱?如果我要使用它,我会对函数中的 arg 参数进行一些额外的检查,Object.create()
但重点是找出这是否会导致任何问题或是否过度杀伤等。
oop - 只有一种具体类类型的工厂设计模式
嗨,我希望我能够清楚地解释我自己一直很困惑的这个问题。
我有一个名为 UTModule 的具体类,它根本不是子类,但它由几个不同的抽象对象(例如 UTListener、UTRenderer、UTDeliverer)组成,这些抽象类到具体对象的实例化定义了我完成的 UTModule 对象的行为.
我要问的问题是,我看到的工厂设计模式的每个示例都与子类化的抽象对象有关,而我的对象是具体类,其行为由其组成决定。
我应该为每个复合抽象对象创建一个工厂吗?或者只是创建一个工厂来创建我的 UTModule,并根据客户的请求使用正确的复合对象?
提前致谢!
javascript - 在 Node.js 中调用 Object.create(new EventEmitter) 是什么意思
我已经阅读了关于 Object.create 的 MDN 文档。它只指出了第一个参数是原型时的场景。但是,我在 Node.js 中看到了一些这样的代码:
那么Object.create()
当它的第一个参数是一个对象时会做什么呢?
javascript - javascript构造函数和object.create可以结合吗?
更新
如果这是不可能的,请随时提供解释原因的答案。我很乐意标记它已接受。
我想稍微简化以下代码(对象“声明”的两个步骤,我想要一个):
我想一次性创建整个函数原型,构造函数出现在 Object.create 中的某处。也许,是这样的:
但是,当我调用时new Basher()
,我得到:'TypeError: object is not a function'。
虽然我意识到我可以使用语法糖(一个帮助程序库)来做到这一点,但我的目标是让事情尽可能简单,并对 JS 对象、原型、构造函数内部结构有所了解。我试图尽可能多地阅读:SO相关问题,Crockford,Ben Nadel,Joost Diepenmaat。
也许我还没有找到正确的表述,或者我正在与 Object.create 的设计理念作斗争,或者语言不允许这样做。也许,这真的只是一种风格上的东西,因此,一种自负。
当然,我可以忍受两步过程(捣碎器)。一次将所有内容打包在一起感觉不错(巴舍尔)。
有没有办法做到这一点?谢谢。
javascript - 是否可以使用 Object.create 模式来创建 CustomEvent 对象?
我知道你可以创建一个CustomEvent
这样的:
我想知道如何在不使用new
,Object.create
模式的情况下做到这一点?
我没有看到解决方案的问题是它CustomEvent
需要两个参数:一个指定事件名称的字符串,以及一个包含bubbles
、cancelable
和details
属性的配置对象。我不确定如何将字符串和对象都传递给Object.create
.
最终,我希望能够以以下标准方式使用此自定义事件:
java - 我想用 Java 编写一个函数,它接受一个字符串作为参数并创建一个同名的对象
假设我正在获取人名并想创建同名的人对象,如下所示:
这样以后我就可以通过名字来指代这个人,比如:
java - 在 Java 中创建对象时避免“新”关键字的好处
我发现了一些博客,其中建议new
在创建类的对象时避免使用关键字。new
创建没有关键字的对象的一些示例是-
或使用clone()
方法 -
然后在这里我找到了一些创建没有new
关键字的对象的好例子
我可以理解“工厂”模式的优点,同时避免new
代码主要部分的关键字。如果我没有使用任何设计模式(用于创建对象),那么在没有new
关键字的情况下创建对象有什么好处吗?或者没有创建对象的原因是什么new
?
java - 指向子类对象的父类引用
我对对象生命周期感到困惑。如果指向子类对象和方法的父类引用被覆盖。例如
现在如果我创建主类
我理解的对象生命周期是否正确?如果没有请指导我。
新的
Child()
构造函数被调用通过
super()
方法父类构造函数(默认构造函数)被调用现在根据对象生命周期调用第一个构造函数并将
display()
父类中的方法的具体方法存储在堆中。在子类构造函数完成执行后
method1()
,display()
方法被存储在堆内存中。
现在,如果我调用p.display()
它来执行子类display()
方法,但是如果您看到父类和子类display()
方法都存储在堆内存中。
如果这种行为正确,那么display()
在堆中存储父方法有什么用。