java scrpit匿名函数的个人理解,希望可以帮我改正一下。

军涯后的菜鸟 2017-06-29 12:00:30
//匿名函数
<script type="text/javascript">
function demo(a) {

var fun = function() {
return 5;
}
return fun;
};
//获取fun的定义
console.log(demo(222));
</script>
今天刚刚学习了js的匿名函数,我想认证一下我个人的理解是否正确:这里 fun 的变量是函数是命名函数,下面return 5 的返回值是返回给fun, 然后往下执行,return fun返回给dome(),然后输出,我理解不了的是为什么 console.log(demo(222)) 是函数体呢?这里的匿名函数感觉今天理解的懵懵懂懂的,希望大神可以帮助我纠正一下我的错误!
...全文
198 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_38274156 2017-06-29
  • 打赏
  • 举报
回复
你函数里fun都没调用的嘛,如果 <script type="text/javascript"> function demo(a) { var fun = function() { return 5; } return fun(); //5 return fun; // 是函数 }; //获取fun的定义 console.log(demo(222)); </script>
天际的海浪 2017-06-29
  • 打赏
  • 举报
回复
fun中值是一个函数本身的引用。不是匿名函数的返回值,因为匿名函数还没有调用执行。 demo()中的return fun;返回的也是函数本身的引用。 你需要对demo()的返回值进行调用才能真正的执行匿名函数,得到5; var rf = demo(222); console.log(rf()); 或者可以连写成 console.log(demo(222)());

87,989

社区成员

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

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