Javascript向对象添加属性 - 本机VS underscore.js .extend方法

时间:2012-09-01 11:58:37

标签: javascript underscore.js

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

我看到仅用于向对象添加属性的扩展
那么,如果我使用myObj.extend({myProp: myPropValue});,那么最重要的是什么 而不是myObj.myProp = myPropValue;

更新

我发现this是补充。我认为这很酷

1 个答案:

答案 0 :(得分:3)

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

但是extend是一个源自jQuery的函数,并不是Javascript的原生函数,并且已经在underscore.js中实现,因此myObj.myProp = myPropValue;的本机方法将更有效,并且可以在没有借助jQuery或underscore.js。

虽然性能上的差异可能微不足道,但使用extend时不应该担心。