我最近一直在探索骨干js,并发现Model和其他人的使用是这样的:
Backbone.Model.extend({ /* bla bla */ });
它使用下划线js的扩展函数来做到这一点
我看到仅用于向对象添加属性的扩展
那么,如果我使用myObj.extend({myProp: myPropValue});
,那么最重要的是什么
而不是myObj.myProp = myPropValue;
更新
我发现this是补充。我认为这很酷
答案 0 :(得分:3)
他们都取得了相同的结果。但是extend
方法更灵活,因为您可以在一次调用中添加多个属性。
但是extend
是一个源自jQuery的函数,并不是Javascript的原生函数,并且已经在underscore.js中实现,因此myObj.myProp = myPropValue;
的本机方法将更有效,并且可以在没有借助jQuery或underscore.js。
虽然性能上的差异可能微不足道,但使用extend
时不应该担心。