问题标签 [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.
javascript - 在通过 Object.create 创建的对象上设置原型
给定以下代码,我在弄清楚如何设置原型链时遇到了一些麻烦。
具体来说,这一行让我在 create 方法中感到困惑:
我了解 create 方法如何创建一个原型指向 Model 的新对象,但倒数第二行似乎用新对象 (Model.prototype) 覆盖了该原型。但是,看起来原始原型仍然完好无损,因为即使在创建新对象后我也可以向 Model 添加方法,并且新对象仍然可以访问它。
有人可以对实际发生的事情有所了解吗?
编辑- 我应该指出这段代码来自O'reilly的Javascript Web Applications
javascript - Object.create 和原型
当我使用 object.create 像这样创建一个新对象时,
我的印象是 o 成为 p 的原型并继承了它的所有方法。
那为什么,当我尝试
输出未定义?o 定义明确!!
谢谢你
javascript - javascript - Object.create 解释
我对以下规范的 object.create 方法有疑问:
在上述代码的第 3 行,我们将 F 对象的原型属性设置为 o 参数的原型。
我会认为这意味着 o 和 F 都指向同一个原型,因此指向同一个成员集。
但是代码随后会在 props 循环中复制 prop 中的所有成员。
如果我们手动复制所有成员,那么在第 3 行设置原型有什么意义?
javascript - Object.create 是否支持所谓的类方法?
当我使用构造函数创建对象时,例如:
我可以将作为函数的属性添加到构造函数,其作用类似于(静态)类方法。Object.create 似乎不支持这一点。那正确吗?Object.create 创建的所有对象的构造函数属性似乎是同一个函数。
提前致谢。
javascript - Object.create 和引用属性
您如何处理在其子代之间共享原型的引用属性的问题?是否有任何众所周知的模式(除了在构造函数中重新定义属性)来解决这个问题?这到底是个问题,还是我缺少关于原型继承的一些东西?
例子:
更新:
在研究了原型继承之后,在我看来,这种范式中“自然”的编程方式是扩展对象,而不是在将它们用作“类”的意义上过分依赖构造函数。我在博客上看到的示例(它似乎也与 Douglas Crockford 的一致Object.create
)或多或少是这样的:
构造函数是在新实例上复制或创建新数组的唯一方法吗?这是Object.create
“不完整”的模式吗?
感谢您的回答!
javascript - Javascript Object.Create 对对象的复制引用
我有以下代码
我有从 ViewModel 继承的对象,它们都具有更新功能。我有一个数组,我正在使用来自 json 对象(初始)的新内容进行更新。有时 Json 对象比我正在更新的现有数组长,所以我想添加相同类型的对象。我正在使用 Object.create(this[key][ittr -1]) 指向数组中的最后一个对象,并尝试从中实例化一个新对象。问题是,每次迭代,它都不会创建新对象,而只是旧对象的副本。知道我怎么能阻止它吗?
我也试过jquery
我试过把 x 变成一个数组
每当我调用 x.update 时,它都会更改数组中已设置为 x 的每个值。所以当我调用 Object.create 时,我从来没有真正创建一个新对象
javascript - JavaScript 继承:Object.create 与 new
在 JavaScript 中,这两个示例有什么区别:
先决条件:
使用 Object.create 的继承示例 A:
使用 new 关键字的继承示例 B
这两个例子似乎做同样的事情。你什么时候会选择一个而不是另一个?
另一个问题:考虑下面链接(第 15 行)中的代码,其中对函数自己的构造函数的引用存储在原型中。为什么这很有用?
https://github.com/mrdoob/three.js/blob/master/src/loaders/ImageLoader.js
摘录(如果您不想打开链接):
google-apps-script - 在 Chromebook 上的 Chrome 中使用 [google-apps-script] 脚本文件中的 Object.create
我一直在尝试在气体脚本文件中使用 Object.create。Object.create 已定义,但似乎没有返回有用的对象。
此代码工作正常:
因此,尽管 Object.create 已定义,但它似乎并没有按预期工作。这是一个错误还是我错过了什么?
javascript - 使用 Object.Create 向 JavaScript 对象添加函数
我正在尝试在 JavaScript 中使用 Object.Create。我目前有以下代码:
我试图为 getMake 向 van 添加一个函数,但出现错误:
TypeError:当我调用时,对象# 的属性“getMake”不是函数:
van.getMake();
这可能吗?你怎么做呢?
javascript - 使用 Object.create 而不是 new 时传递参数
这个问题不是重复使用 "Object.create" 而不是 "new"。有问题的线程在使用时不专注于正确传递参数Object.create
我很好奇我将如何使用Object.create
而不是new
. 到目前为止,这是我的代码:
正如你在上面看到的,Male.prototype = new Human(true);
创建了一个新的对象。运行该hasEyes()
函数时,这将按预期记录为真。
所以,我的问题是.. 使用Object.create
我将如何以传递true
参数的方式执行此操作?