Underscore.js和jQuery相互补充吗?

时间:2012-01-18 08:49:15

标签: javascript jquery underscore.js

我刚开始学习JavaScript,偶然发现了Underscore.jsjQuery。 Underscore看起来很酷,但我想知道jQuery是否还没有提供类似于Underscore的功能。那么,使用它们是否值得?

4 个答案:

答案 0 :(得分:78)

取自underscore网站:

  

这与jQuery的tux以及Backbone.js的吊带相关。

Underscore更适合数据操作,并为JavaScript带来了许多Ruby方法。有一些交叉,但不足以使它们相互排斥。

答案 1 :(得分:68)

  • jQuery将负责你的大部分dom操作
  • backbone.js将帮助您组织所有代码并为您的js应用程序提供一些结构(mvc模式)
  • underscore.js将为您提供真正有用的低级实用程序。在我真正进入js应用程序之前,我永远不会需要这个库(这也是对backbone.js的要求)

答案 2 :(得分:39)

Underscore共提供60种处理数据/代码的功能。同意许多功能存在于其他库中,如jQuery,Prototype或script.aculo.us。例如,jQuery中存在像each,map,find,filter或toArray这样的函数。这些也在Underscore中。这是为了使库独立于jQuery。

何时使用下划线?

目前,它广泛用于Backbone.js,以使用MVC架构来创建单页Javascript Web应用程序。 underscore.js最重要的能力是模板化的能力(jQuery无法做到)。该库还有许多其他有用的函数,它们独立于其他Javascript库。

在下面找到由Underscore提供的功能列表:

<强>类别: 每个,地图,减少,reduceRight,查找,过滤,拒绝,所有,任何包括,调用,拔毛,最大值,最小值,sortBy,GROUPBY,sortedIndex,洗牌,指定者,大小

<强>阵列: 第一,初始,最后,休息,紧凑,压平,而不,集,交集,差,uniq的,拉链,的indexOf,lastIndexOf,范围

<强>功能: 绑定,bindAll,memoize的,延迟,推迟,油门,反跳,有一次,之后,包裹物,组成

<强>对象: 键,值,函数,延伸,缺省值,克隆,丝锥,的isEqual,的isEmpty,isElement,IsArray的,isArguments,isFunction,isString,ISNUMBER,isBoolean,而isDate,isRegExp,isNaN,参考isNull,isUndefined

<强> Utitity: noConflict,身份,时间,混入,UNIQUEID,逃生,模板

答案 3 :(得分:9)

如果您担心重叠,并且不需要像JQuery AJAX这样的东西,那么您可以考虑仅使用名为Sizzle的JQuery选择器引擎。

http://sizzlejs.com/

请注意,这并非适用于所有项目,通过使用Sizzle和Underscore,您将失去一些JQuery功能(如AJAX),您需要考虑您对特定应用程序真正需要的内容。