gpt4 book ai didi

javascript - Ext.apply 与简单地在目标上设置值有什么区别?

转载 作者:可可西里 更新时间:2023-11-01 02:33:24 25 4
gpt4 key购买 nike

使用 Ext.js 或 sencha,执行以下操作有什么意义:

Ext.apply(app.views, {
contactsList: new app.views.ContactsList(),
contactDetail: new app.views.ContactDetail(),
contactForm: new app.views.ContactForm()
});

相对于这个标准的 javascript:

app.views.contactsList = new app.views.ContactsList();
app.views.contactDetail = new app.views.ContactDetail();
app.views.contactForm = new app.views.ContactForm();

有什么区别吗?

最佳答案

Ext.apply 通常更方便(如果所需的激活链查找更少,则可能更有效,如您的示例所示,尽管这是次要的一点)。还有一个变体 Ext.applyIf,它只应用源对象中不存在于目标对象中的成员,这更有用,因为它使您免于大量手动 if () 检查。这非常有用,例如,当将默认值应用于可能已经分配了用户或应用程序定义的属性的配置对象时。

给查看已接受答案的 future 读者的注意事项:Ext 也有 Ext.extend,它实际上意味着“继承自”,而不是 Ext.apply[If] 仅将对象实例合并到另一个对象实例中,或者 Ext.override 覆盖(不子类化)类定义。多种选择,具体取决于您的需要。

关于javascript - Ext.apply 与简单地在目标上设置值有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5268422/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com