render: function render(context, partials) {
return this.r(context, partials);
},
从Twitter的新hogan.js库中获取此代码来演示该问题;两次命名函数的目标是什么?
答案 0 :(得分:7)
如果愿意,函数render
将能够call itself via render()
,但render()
无法访问anywhere else。
此外,在堆栈跟踪中,您会看到render
作为函数名称,而不是anonymous function
。
答案 1 :(得分:0)
递归电话需要它。
答案 2 :(得分:0)
render 的第一次出现是存储函数的字段的名称,以便您可以通过
调用该函数object.render(context, partials);
第二个渲染命名函数本身。然后,调试工具显示 render 而不是 function 。
第二个可能的原因是该函数可以递归调用自身。
var render = function render(n) {
console.log("render");
if (n < 1)
render(n + 1);
};
render(0);
编辑:抱歉,我在第一次修订时写错了。