【发布时间】:2012-03-08 23:10:32
【问题描述】:
Underscore.js 有两种调用函数的方式,我将其称为对象样式和函数样式。对象样式如下所示:
_(myObject).each(function (val, key) {
console.log(key, val);
});
另一方面,函数样式看起来像这样:
_.each(myObject, function (val, key) {
console.log(key, val);
});
我很高兴在我的代码中使用对象样式调用,但是在某些时候,调用的对象样式从 underscore.js 文档中消失了(尽管对象样式调用仍然可以正常工作)。我还看到了有关函数样式“更好”或“首选”的地方的提示(例如在主干.js 文档中)。
那么,调用的函数风格是首选方法吗?如果是这样,有人可以解释这背后的原因吗?
更新: @ggozad 部分回答了我的问题。但似乎我对 underscore.js 工作原理的理解是在 0.4.2 版左右形成的。阅读 underscore.js 的更改历史,您可以看到 1.2.4 版本的以下条目:
您现在可以(并且可能应该)写
_.chain(list)而不是_(list).chain()。
我想知道为什么你应该写_.chain(list) 而不是_(list).chain()。
【问题讨论】:
-
_(list).chain()内部计算类似于_.chain(_(list).value())和_(list).value() === list。因此调用_.chain(list)更快
标签: javascript coding-style underscore.js