我刚开始学习JavaScript,偶然发现了Underscore.js和jQuery。 Underscore看起来很酷,但我想知道jQuery是否还没有提供类似于Underscore的功能。那么,使用它们是否值得?
答案 0 :(得分:78)
取自underscore网站:
这与jQuery的tux以及Backbone.js的吊带相关。
Underscore更适合数据操作,并为JavaScript带来了许多Ruby方法。有一些交叉,但不足以使它们相互排斥。
答案 1 :(得分:68)
答案 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选择器引擎。
请注意,这并非适用于所有项目,通过使用Sizzle和Underscore,您将失去一些JQuery功能(如AJAX),您需要考虑您对特定应用程序真正需要的内容。