javascript理解难题。。。。谁能解释一下 <script> function add(num) { return function(toadd) { return num+toadd; } } var addfive=add(5); alert(addfive(2));</script>谁能就解释一下啊,为什么输出结果是7,运行流程是什么??? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 var addfive=add(5);调用add函数是返回一个函数变成var addfive = function(toadd){return 5+toadd} var v = addfive(2)结果不就是7吗 那是说addfive()也是一个函数 就象一楼所说。这种时候,外部的add(num)里的参数num对于里面返回的return function(toadd)来说,等于成了数值常量。 这是最典型的闭包的问题。结果为7不重要,重要的是JS的作用域是以函数划分的。当var addfive=add(5);之后,函数add已经执行完了,那为什么后面的方法还能使用add的参数进行计算呢?呵呵。 谁会新浪微博回复那效果,文本域的高度会随着输入的字自动撑开??????? 送分大师来了,字符串里传对象和方法的问题。 JavaScript 一些事件的提问,大家进来看看 关于用Google Analytics API得到数据的问题 异步的执行 帮忙说明一下这个正则表达式为什么是正确的 关于 firefox 下获取鼠标坐标 菜鸟问题,高手见笑了 简单问题,立即兑现! easyui datagrid怎么翻译数据库中的数值 像系统的学JS,大家推荐一本书 js菜鸟求助,散分.
调用add函数是返回一个函数
变成
var addfive = function(toadd)
{
return 5+toadd
}
var v = addfive(2)
结果不就是7吗
当var addfive=add(5);之后,函数add已经执行完了,那为什么后面的方法还能使用add的参数进行计算呢?
呵呵。