我正在使用各种书籍学习 javascript,但我注意到我无法找到关于何时使用 return 的充分解释。我知道当你想从一个函数返回一个值时你会使用它,但是还有来自 Javascript: The Good Parts 的例子:
var quo = function(status) {
return {
get_status: function() {
return status;
}
};
};
var myQuo = quo("amazed");
document.writeln(myQuo.get_status());
当 quo 函数已经可以使用 status 作为参数时,为什么必须返回它?换句话说,为什么简单
return {
get_status: status;
}
不行?
紧随其后的页面上的另一个示例:
var add_the_handlers = function(nodes) {
var helper = function(i) {
return function(e) {
alert(i);
};
};
var i;
for (i = 0; i<nodes.length; i+=1) {
nodes[i].onclick = helper(i);
}
};
为什么我们在函数中返回 alert(i) 而不是简单地放入 alert(i)?