【问题标题】:Lambda function in javascriptJavaScript 中的 Lambda 函数
【发布时间】:2015-09-20 16:24:12
【问题描述】:

我的代码有什么问题? 我不明白为什么它不起作用。我的 lambda 函数出了点问题。

var a=5;
var b=6;
function lambda_test(a){

    return function(a){
        return a*a;
    };
}
var c=lambda_test(a);
window.alert(c);

【问题讨论】:

    标签: javascript function lambda


    【解决方案1】:

    内部函数中的a 隐藏了外部函数中的a(这反过来又隐藏了最外面的函数——这与as 不同,只需几行代码! )。给参数不同的名称。

    您也永远不会调用返回并存储在c 中的函数。您对lambda_test 的调用会创建函数,但不会调用它;然后你可以通过调用c

    function lambda_test(outer){
    
        return function(inner){
            return outer * inner;
        };
    }
    var c=lambda_test(5);
    alert(c(6)); // 30

    【讨论】:

    • 不,因此我将变量作为字符串。更改名称没有帮助。
    • @EdwardRyzhewski:不,在alert 将其参数隐式转换为字符串以供显示之前,您的代码中根本没有字符串。仔细阅读以上内容,并尝试运行它(即 sn-p 是可运行的)。
    猜你喜欢
    • 1970-01-01
    • 2016-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-20
    • 2022-01-15
    • 1970-01-01
    相关资源
    最近更新 更多