为了账号安全,请及时绑定邮箱和手机立即绑定

这段代码为什么等于667 而不是undefined?

这段代码为什么等于667 而不是undefined?

Leo_92 2016-02-21 21:22:12
function say() {        var num = 666;        function sayAlert() {alert(num);}        num++;        return sayAlert;    }    var demo = say();    demo();
查看完整描述

6 回答

已采纳
?
_da

TA贡献22条经验 获得超29个赞

这是一个典型的闭包

var demo = say();

return得到的是say的作用域 和function sayAlert() {alert(num);}

  

所以 sayAlert能访问到say作用域内的变量

查看完整回答
6 反对 回复 2016-02-22
?
陌熙

TA贡献18条经验 获得超24个赞

谁写的这种代码?以后还是要少些这种代码,好的代码给人一看能明白。

查看完整回答
2 反对 回复 2016-02-22
?
qq_彼岸流年_1

TA贡献2条经验 获得超0个赞

你输入的是数字666,之后又写数字加1,输出加完的数字当然是667。


查看完整回答
反对 回复 2016-02-22
  • 6 回答
  • 0 关注
  • 2055 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信