javascript - 与 BackboneJS 一起使用时,我应该使用 Lo-Dash 的 Underscore 兼容版本吗?

标签 javascript backbone.js underscore.js lodash

我注意到 Lo-Dash 有一个特殊的 Underscore 兼容构建,表面上是为了解决函数参数/操作中的差异(因为 Lo-Dash 是 Underscore 的超集,我假设 Lo-Dash 中没有缺少 Underscore 函数) .

我还注意到 BackboneJS 可以与 Underscore 或 Lo-Dash 一起使用。

我的问题:将 Lo-Dash 的“正常”版本与 BackboneJS 一起使用是不明智的吗?我找不到任何迹象表明人们是否在野外这样做,但这似乎是一个坏主意,特别是如果 BackboneJS 依赖于这些构建中可能不同的函数。同时,如果能使用 Lo-Dash 中的一些新功能就好了,所以如果没有必要,我不想错过这些功能。

最佳答案

[edit]从使用lodash一段时间的个人经验来看,我发现差异并不是太大。我建议您使用正常版本,但如果您不想冒任何风险,请使用兼容版本。

<小时/>

要知道答案,请参阅此 wiki 页面,该页面总结了下划线 Lo-Dash 构建和普通 Lo-Dash 之间的差异:

https://github.com/lodash/lodash/wiki/build-differences

Underscore 构建(包括 Backbone 构建,它是 Underscore 构建的子集)

  • Lo-Dash 的直观链接被 Underscore 的显式链接风格取代 如果您想使用的话,_.chain 方法仍然存在。
  • 如果回调返回 false,_.each 方法不会提前退出
  • _.defaults_.extend 方法迭代源对象的继承属性
  • _.contains_.omit_.pick_.template 等方法中删除了额外功能

关于javascript - 与 BackboneJS 一起使用时,我应该使用 Lo-Dash 的 Underscore 兼容版本吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17224279/

相关文章:

javascript - Backbone.js:在 View 中的单击事件上应用 jQuery 类?

javascript - 使用 Underscore.js 使用 'contains' 过滤属性上的对象数组

javascript - 在 Backbone/Underscore 模板中使用 "if",怎么样?

javascript - 如何在 Handlebars 表达式中求值?

javascript - Javascript中parseInt(x)和+(x)有什么区别

javascript - 在 backbone.js 中处理重新渲染 View 的最佳方法?

html - backbone.js 图片上传

javascript - 嵌套对象扩展并跳过未定义的属性(在 Angular 或 Underscore 中)

javascript - 如何更新使用自定义 Hook 的变量的状态值

javascript - Bootstrap 中的 CSS 转换中的 "Force Reflow"