数码资讯
Javascript中返回和闭包函数的分析
高级绕道!它与闭包本身无关,它不知道如何取标题。 今天,一个刚刚学习JS的朋友给了我一段代码,问为什么这个方法没有执行。代码如下: 复制代码代码如下所示: 功能makefunc(x){ 返回函数(){ 返回x; } } 警报(makefunc(0)); 事实上,它不是不做,但这里的朋友的含义警报应该
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
高级绕道!它与闭包本身无关,它不知道如何取标题。
今天,一个刚刚学习JS的朋友给了我一段代码,问为什么这个方法没有执行。代码如下:
复制代码代码如下所示:
功能makefunc(x){
返回函数(){
返回x;
}
}
警报(makefunc(0));
事实上,它不是不做,但这里的朋友的含义警报应该是0,而不是函数(){返回x;}。
脚本没有错误,只是不返回,退出当前函数,从函数返回一个值。如果返回是一个函数,那么返回就是函数本身。
它是可能的修改代码,警报(makefunc(0)()):
复制代码代码如下所示:
功能makefunc(x){
返回(函数(){())
返回x;
});
}
警报(makefunc(0)());
如果要返回函数的结果,则应首先执行函数,例如:
复制代码代码如下所示:
功能makefunc(x){
返回(函数(){())
返回x;
});
}
警报(makefunc(0));
这里是一个匿名函数,
复制代码代码如下所示:
(函数(){())
返回x;
});
第一个括号是一个匿名函数,第二个括号用来调用匿名函数,你可以把所需的参数传递给第二个括号:
复制代码代码如下所示:
函数(x,y){
警报(x + y);
})(2, 3);
今天,一个刚刚学习JS的朋友给了我一段代码,问为什么这个方法没有执行。代码如下:
复制代码代码如下所示:
功能makefunc(x){
返回函数(){
返回x;
}
}
警报(makefunc(0));
事实上,它不是不做,但这里的朋友的含义警报应该是0,而不是函数(){返回x;}。
脚本没有错误,只是不返回,退出当前函数,从函数返回一个值。如果返回是一个函数,那么返回就是函数本身。
它是可能的修改代码,警报(makefunc(0)()):
复制代码代码如下所示:
功能makefunc(x){
返回(函数(){())
返回x;
});
}
警报(makefunc(0)());
如果要返回函数的结果,则应首先执行函数,例如:
复制代码代码如下所示:
功能makefunc(x){
返回(函数(){())
返回x;
});
}
警报(makefunc(0));
这里是一个匿名函数,
复制代码代码如下所示:
(函数(){())
返回x;
});
第一个括号是一个匿名函数,第二个括号用来调用匿名函数,你可以把所需的参数传递给第二个括号:
复制代码代码如下所示:
函数(x,y){
警报(x + y);
})(2, 3);
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。