首页 热点资讯 义务教育 高等教育 出国留学 考研考公

一个javascript的闭包问题,求详细解释

发布网友 发布时间:2022-04-23 01:16

我来回答

2个回答

热心网友 时间:2022-04-19 02:51

关于javascript闭包,也许仅一个回答无法说清,推荐你阅读司徒正美大神的博客
http://www.cnblogs.com/rubylouvre/archive/2009/08/21/1551270.html
javascript变量的作用域
和《javascript面向对象程序设计》。
如果我用不标准的语言回答你,那么答案是:
var sayNumber=say667();的过程中执行了say667(),声明了局部变量num=666
和局部变量sayAlert,注意在javascript中函数也是一种数据类型。因为在同个作用域下声明了这个函数,所以在外部调用时有访问num的权限,然后num++,执行sayNumber()时alert的num指向同一个num的引用,而该变量已加1,所以alert 667

重复阅读,弄清我的意思

热心网友 时间:2022-04-19 04:09

var sayAlert = function() { alert(num); }
你只定义了没调用,当你var sayNumber = say667();实际就执行了sayAlert,而此时的num=667;所以,你懂了。如果你把num++写在var sayAlert = function() { alert(num);num++; }那就是666

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com