gpt4 book ai didi

backbone.js - 我的 Backbone 默认值应该是一个对象还是一个函数?

转载 作者:行者123 更新时间:2023-12-04 18:09:44 24 4
gpt4 key购买 nike

我一直在阅读和关注几个 Backbone.js 教程,当谈到模型的默认值时,人们似乎采用两种方式之一。
第一种方式 - 默认值是一个对象
例如,第一种方法是将默认值声明为对象;

my_model = Backbone.Model.extend({
defaults: {
title: 'Default Title'
}
});
这对我来说最有意义,我立即知道默认值是一个对象并且它工作正常。
第二种方式 - 默认值是一个函数
我看到的第二种方式是将默认值声明为函数,例如;
my_model = Backbone.Model.extend({
defaults: function() {
return {
title: 'Default Title'
}
}
});
这个函数显然最终返回了一个对象,对我来说没什么意义(除非你最终想向函数传递一些东西。
我的问题
我的问题是,假设您不会使用函数方式传递任何参数,那么使用一个而不是另一个是否有好处。我的感觉是,调用匿名函数可能会产生微不足道的开销,但会喜欢更明智的意见。

最佳答案

Remember that in JavaScript, objects are passed by reference, so if you include an object as a default value, it will be shared among all instances. Defaults containing objects passed by reference should be defined using a function if you do not wish to share objects between all instances



https://github.com/documentcloud/backbone/issues/1145

总结的差不多。仅当您具有对象属性时才推荐使用函数方法。

关于backbone.js - 我的 Backbone 默认值应该是一个对象还是一个函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17318048/

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