是的,这是预期的行为。
它无声地失败了。
不完全是。或:仅在草率模式下。如果您
"use strict"使用,您会得到一个
Error { message: "Invalid assignment in strict mode", … }
在线上
test4.answer = function() { return 0; };
这与实例与原型无关。您没有注意到的是,您正在使用不同的方法来创建重载属性:
- 对继承且不可写的属性的分配失败
- 一个
Object.defineProperty
电话刚创建了一个新的属性,除非对象是不可扩展的
您可以对实例执行相同的 *** 作:
Object.defineProperty(test4, "answer", { value: function() { return 42; }});
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)