Phi*_*unt 1 javascript backbone.js underscore.js
我一直在使用backbone.js,并遇到了以下代码片段.
_(view.buttonViews).each(function(button) {
button.render();
});
Run Code Online (Sandbox Code Playgroud)
其中view.buttonViews是一个数组.如果我带走_()并拥有
view.buttonViews.each(function(button) {
button.render();
});
Run Code Online (Sandbox Code Playgroud)
然后我得到一个错误,每个都不是一个函数._()添加了什么?谢谢!
Fel*_*ing 11
我想这是提供方法的Underscore.js库each:
_.each(list, iterator, [context])别名:forEach
迭代元素列表,依次产生迭代器函数.迭代器绑定到上下文对象(如果传递了一个).每个迭代器调用都使用三个参数调用:(element,index,list).如果list是JavaScript对象,则迭代器的参数将是(value,key,list).如果存在,则委托原生forEach函数.
这种方式,_([...]).each(...)只是另一种调用它的方式.
顺便说一句,它也在Backbone的文档中描述:
Backbone唯一的硬依赖是Underscore.js.
正如@Jonathon已经说过的那样,FWIW _是一个有效的变量名,在这种情况下它包含一个函数.在函数后面添加括号引用该函数的调用,因此_()调用所引用的函数_.没什么特别的.
除此之外,括号可以作为函数声明或表达式(function foo() {...})的一部分出现,也可以作为分组运算符(var i = (20 + 1) * 2;)出现.
| 归档时间: |
|
| 查看次数: |
222 次 |
| 最近记录: |