原型值不会针对 js 中的每个实例更新,为什么
prototype value does not update for every instance in js, why?
如果我设置一个原型值并创建两个实例
然后在一个实例中更新原型值
现在其他实例原型值没有更新,为什么?
代码是
var A = function() {
}
A.prototype.u = 2;
var a = new A();
var b = new A();
a.u = 4
alert(a.u) // 4
alert(b.u) // 2
太不合理了,是原型值不是这个值,对吧?
你不是在"更新原型值"。您正在将新值写入本地对象,而不是原型链。本地属性掩盖链上较高的属性。
alert(a.u);
看着a
,找到一个u
并提醒它。
alert(b.u);
看了看b
,没有找到u
,查找原型链,找到一个u
并提醒它。
比较:
var A = function() {
}
A.prototype.u = 2;
var a = new A();
var b = new A();
a.u = 4;
A.prototype.u = 6;
alert(a.u);
alert(b.u);
相关文章:
- 从Sequelize中的非实例更新
- 更新Redux状态&然后在同一实例中获取更新状态
- 使用 JavaScript 中的实例更新原型
- 如何使用每个ajax请求更新实例变量
- 原型值不会针对 js 中的每个实例更新,为什么
- 在 PHP 中,当同一页面的其他实例更改时,更新页面
- 运行 AJAX 函数的多个实例 - 仅第二个实例更新
- 如何允许 ActiveX 对象在 JavaScript 中实例化之前安装更新的版本
- 按需更新许多 Highcharts 实例的最佳性能
- Angularjs - 更新同一控制器的多个实例
- 获取所有实例化的javascript对象并更新值
- Javascript PHP更新所有打开的实例,如Facebook
- 如何更新表示相同数据的两个不同React组件实例
- 在保存新的模型实例之后,在Ember.js中转换到路由之前,更新资源模型
- 更新CKEditor'在实例已经创建之后,通过JavaScript创建的CSS
- 如何使用jquery隐藏/更新/显示具有相同ID的多个实例
- 添加新的行实例,无法更新单元格原始值
- 更新现有HandsOnTable实例的设置
- 如何用原型函数更新实例属性,并从另一个函数访问它
- 当其他人通过同一页面的另一个实例更新数据库时,我想更新我的网页