Javascript 下划线和#x27之间的差异;每一个都是ES5

Javascript 下划线和#x27之间的差异;每一个都是ES5,javascript,foreach,underscore.js,ecmascript-5,Javascript,Foreach,Underscore.js,Ecmascript 5,我有 我想我可以把它改成 _.each(this.fields, function(field, idx) { 没有破坏任何东西 下划线的每个与本机JS实现forEach之间是否存在差异?使用一个库,即下划线或lodash,您可以轻松地编写代码,而不必担心不同浏览器中的兼容性问题 第二个优势是。也可以在对象上迭代: this.fields.forEach(function(field, idx) { 例如,当您更改它时发生了什么?底层实现是不同的,是的。它说TypeError:this.fi

我有

我想我可以把它改成

_.each(this.fields, function(field, idx) {
没有破坏任何东西


下划线的
每个
与本机JS实现
forEach
之间是否存在差异?

使用一个库,即下划线或lodash,您可以轻松地编写代码,而不必担心不同浏览器中的兼容性问题

第二个优势是
也可以在
对象上迭代:

this.fields.forEach(function(field, idx) {

例如,当您更改它时发生了什么?底层实现是不同的,是的。它说
TypeError:this.fields.forEach不是一个函数
如果其中一个有效,而另一个抛出错误,那么是的,这是不同的。@Jamgreen:
\每个
都作用于“集合”,即数组和对象,而
.forEach
是一种
数组
方法。什么是
this.fields
?要迭代对象,请使用
Object.keys(this.fields).forEach(函数(键){var field=this.fields[key];…})使用
forEach
浏览器之间存在哪些兼容性问题?我通常提到,兼容性问题由jQuery、下划线等库处理,而不是专门针对
forEach
函数。
_.each([1, 2, 3], alert);
=> alerts each number in turn...

_.each({one: 1, two: 2, three: 3}, alert);
=> alerts each number value in turn...