1

我最近一直在探索主干js,发现Model和其他的使用是这样
Backbone.Model.extend({ /* bla bla */ });
的:它使用下划线js的扩展函数来做到这一点

我看到扩展只是用于向对象添加属性所以,如果我使用 而不是
,有什么大不了的myObj.extend({myProp: myPropValue});
myObj.myProp = myPropValue;

更新:

我发现是补充。我觉得很酷

4

1 回答 1

3

他们都达到了相同的结果。但是,该extend方法更加灵活,因为您可以在一次调用中添加多个属性。

butextend是一个源自 jQuery 且不是 JavaScript 原生的函数,并且已经在 underscore.js 中实现,因此原生方法的myObj.myProp = myPropValue;效率会更高,并且无需借助 jQuery 或 underscore.js 即可使用。

不过,性能上的差异可能非常微不足道,因此使用extend不应该是值得担心的事情。

于 2012-09-01T12:01:35.833 回答