What does _(variable_name) mean in javascript?
我遇到了以下javascript代码:
1 2 3 4 5 6 7 | this.removeEdge = function(source, target) { if(!_states[source]) return; var children = _states[source].children, index = _(children).indexOf(target); if(index !== -1) children.splice(index, 1); }; |
孩子是什么意思?
也就是说,它通常被underline.js库使用,但是如果您查看的是小型代码,它很可能被用作另一个单字符变量名,以保存在文件大小上。
在您提供的示例中,似乎使用了underline.js将
1 | _.indexOf(children, target); |
来找这个问题的答案,并设法找到了一个。_uuu(variable)语句将下划线环绕在变量周围。根据"面向对象和功能样式"部分中的链接,
1 | index = _(children).indexOf(target); |
号
等于
1 | index = _.indexOf(children, target); |
第一种是以面向对象的方式编写的,它允许链接函数。其示例如下:
1 2 3 4 5 | _(lyrics).chain() .map(function(line) { return line.words.split(' '); }) .flatten() .reduce({}, function(counts, word) { counts[word] = (counts[word] || 0) + 1; |
。
每个函数都返回包装歌词的下划线函数,允许对歌词变量进行链接操作。
下划线更改日志:
0.4.0-2009年11月7日:现在可以以面向对象的样式调用所有下划线函数,如:u([1,2,3]).map(…);。Marc Andr_Cournoyer提供的原始补丁。包装的对象可以通过多个方法调用链接。添加了一个函数方法,提供了下划线中所有函数的排序列表。