Javascript 将jQuery与node.js一起使用

Javascript 将jQuery与node.js一起使用,javascript,jquery,node.js,Javascript,Jquery,Node.js,我发现可以将jQuery与node.js一起使用,但所有示例都是针对DOM和HTML操作的 您认为将它用于数组迭代(针对每个对象)等可以吗?还是有点过头了?下划线.js是一个用于操作对象的小得多的实用程序库 编辑: 然而,node.js对ES5的支持比浏览器要好得多,而且您可能甚至不需要一个用于操作对象的库。请参阅keeganwatkins的答案。jQuery有一些漂亮的非DOM特性,您可以借用- 只需去掉您不需要的内容(如对窗口的引用)。如果您只想添加几个函数,除了添加完整库之外,另一种方

我发现可以将jQuery与node.js一起使用,但所有示例都是针对DOM和HTML操作的


您认为将它用于数组迭代(针对每个对象)等可以吗?还是有点过头了?

下划线.js是一个用于操作对象的小得多的实用程序库

编辑:


然而,node.js对ES5的支持比浏览器要好得多,而且您可能甚至不需要一个用于操作对象的库。请参阅keeganwatkins的答案。

jQuery有一些漂亮的非DOM特性,您可以借用-


只需去掉您不需要的内容(如对窗口的引用)。

如果您只想添加几个函数,除了添加完整库之外,另一种方法是只实现您想要的函数:


一些浏览器部分支持的许多功能都在MDN中记录,并带有可用于添加该功能的兼容代码:

大多数常见的jQuery实用程序已经在构建node.js的V8引擎中实现

例如,比较:


关于node.js最好的一点是大部分ES5规范已经存在

NodeJS已经内置了所有EcmaScript 5数组附加。例如,如果需要所有奇数正方形:

[1,2,3,4,5,6,7,8,9].map(function(n){
    return n*n;
}).filter(function(n){
    return n%2;
});
//-> [1, 9, 25, 49, 81]
如果您想查看阵列上的其他方法,可以转到我的

如果需要所有多维数据集的总和,可以:

[1,2,3,4,5,6,7,8,9].map(function(n){
    return n * n * n;
}).reduce(function(p, n){
    return p + n;
});
//-> 2025

我不太了解Node.js,如果它已经有了
forEach
,那么为什么需要通过jQuery添加它呢?这不是因为链接,而是因为你还没有学会使用。好吧,当我试图提交原始答案时,它说我没有足够的代表发布两个以上的链接。谢谢你把它清理干净!啊,在这种情况下,我已经更新了你的答案,使之正确链接,因为它们是合法的。只是要指出。至少目前$.map也适用于对象。所以这和使用Array::map不一样。你们真的应该仔细检查一下你们需要下划线,ES5可以做下划线能做的大部分事情。这是真的,但ES5中并没有像
.extend
这样的东西,并且下划线使用本机ES5(若有的话)。
Object.keys(source.forEach(function(key){target[key]=source[key];})您不需要
扩展
[1,2,3,4,5,6,7,8,9].map(function(n){
    return n * n * n;
}).reduce(function(p, n){
    return p + n;
});
//-> 2025