关于闭包中参数的问题,求解答

baidu_29592301 2016-10-28 09:48:39
求下面代码为什么f1(4)();返回4;
而f2(4)(),返回undefined;
function f1(args){
var n= function (){
return args;
};
return n;
}
function f2(args){
return function(){}
return args;
}
...全文
101 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_36311209 2016-10-29
  • 打赏
  • 举报
回复
js 是单线程执行 return 返回值的时候返回了这个函数的空 return function(){} 下面自然是没有执行到 所以是 UNDEFINED
baidu_29592301 2016-10-29
  • 打赏
  • 举报
回复
谢谢 不小心把括号写错了
天际的海浪 2016-10-28
  • 打赏
  • 举报
回复
function f2(args){ return function(){}//f2() 执行到这里返回function(){}一个空函数就结束了 return args;//这行永远不执行 } f2(4)()执行的是function(){}这个空函数。空函数中没有return,就只会返回 undefined

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧