Javascript Underline.js中的for each方法是如何工作的?

Javascript Underline.js中的for each方法是如何工作的?,javascript,underscore.js,Javascript,Underscore.js,在underline.js中,for each方法从以下内容开始: var each = _.each = _.forEach = function(obj, iterator, context) { 它怎么能做某事?我以为你做不到 见: 感谢这基本上只是为创建的函数(obj、迭代器、上下文)定义别名 这和做var a=b=c=d=0是一样的所有这些变量都已创建并具有值0 尽管我给出的示例实际上会创建单独的对象,因为数字是一种固有类型。你问题中的那个将创建所有引用相同函数的对象。这基本上只是为

在underline.js中,for each方法从以下内容开始:

var each = _.each = _.forEach = function(obj, iterator, context) {
它怎么能做某事?我以为你做不到

见:


感谢

这基本上只是为创建的
函数(obj、迭代器、上下文)
定义别名

这和做
var a=b=c=d=0是一样的所有这些变量都已创建并具有值0


尽管我给出的示例实际上会创建单独的对象,因为数字是一种固有类型。你问题中的那个将创建所有引用相同函数的对象。

这基本上只是为创建的
函数(obj、迭代器、上下文)
定义别名

这和做
var a=b=c=d=0是一样的所有这些变量都已创建并具有值0


尽管我给出的示例实际上会创建单独的对象,因为数字是一种固有类型。您问题中的一个将创建所有引用相同函数的对象。

这意味着为每个局部函数创建一个局部函数,并在“下划线”范围内创建.each和.forEach方法。就这些。 就像

var a , b, c;
a = b = c = 3;
console.log(a,b,c) // 3,3,3

这意味着要为每个局部函数创建一个局部函数,并在“下划线”范围内创建0.each和0.forEach方法。就这些。 就像

var a , b, c;
a = b = c = 3;
console.log(a,b,c) // 3,3,3

变量a=b=c=d=0;-这将在全局范围内创建b、c、d变量。不是很好的方法。@Flops我从来没有说过创建全局变量是个好主意。只是你可以做这样的多重作业。我不想说你做得不好。我只是想描述一个问题,如果你用这个模式,我完全同意。我只是假设人们会把它看作是一个作业示例,而不是如何编写.js文件的建议变量a=b=c=d=0;-这将在全局范围内创建b、c、d变量。不是很好的方法。@Flops我从来没有说过创建全局变量是个好主意。只是你可以做这样的多重作业。我不想说你做得不好。我只是想描述一个问题,如果你用这个模式,我完全同意。我只是假设人们会把它看作是一个作业示例,而不是如何编写.js文件的建议