什么是JavaScript中使用的返回函数

时间:2011-04-23 11:46:49

标签: javascript

我有一个非常简单的例子,它可以在没有返回功能的情况下工作,并且失败了:

 function hello() {
    alert('hello');
}

function hi() {
    return function() {
        alert('hi');
    }
}

我知道通过执行hi()();我可以运行第二个函数,但我很少在代码中看到这个。如果不这样做,我怎么能做返回功能,因为我看到人们一直这样做。

3 个答案:

答案 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');
});