我有一个非常简单的例子,它可以在没有返回功能的情况下工作,并且失败了:
function hello() {
alert('hello');
}
function hi() {
return function() {
alert('hi');
}
}
我知道通过执行hi()();
我可以运行第二个函数,但我很少在代码中看到这个。如果不这样做,我怎么能做返回功能,因为我看到人们一直这样做。
答案 0 :(得分:12)
return函数可以缓存第一个调用函数中的一些变量,然后你可以在return函数上做一些事情。
例如,
function hi(lastName) {
return function(firstName) {
alert('hi ' + firstName + lastName);
}
}
var chen = hi("Chen");
chen("Jumper");
chen("Dennis");
答案 1 :(得分:5)
答案 2 :(得分:1)
自执行和回调函数都是非常常见的方法。
在此处查找工作示例: http://jsfiddle.net/ezmilhouse/9BbGC/
// self executing
function hi( text ) {
return (function(text) {
alert(text);
})(text);
}
hi('ho');
// callback
function ho(callback){
callback();
}
ho(function(){
alert('ha');
});