chenlunyong1213 发表于 2019-7-16 21:40:56

问下大神 下面的函数怎么理解

问下大神
下面的函数怎么理解

function calfactory(base){
        return function (max){
                var total=0
                for(var i=0;i<=max;i++){
                        total+=i;
                }
                return total+base;//8
               
        }
}
var addr=calfactory(2);
alert(addr(3))

不二如是 发表于 2019-7-17 07:55:41

回调阿。。。需要怎么理解

freeulove 发表于 2019-7-17 08:05:08

不二如是 发表于 2019-7-17 07:55
回调阿。。。需要怎么理解

不二老师早{:5_109:}

不二如是 发表于 2019-7-17 08:14:47

freeulove 发表于 2019-7-17 08:05
不二老师早

早~~

chenlunyong1213 发表于 2019-7-17 09:33:52

不二如是 发表于 2019-7-17 07:55
回调阿。。。需要怎么理解

为什么addr 还可以传入参数3

var addr=calfactory(2);
后面的这个
alert(addr(3))

不科学啊

、尾指一勾 发表于 2019-7-17 09:54:42

chenlunyong1213 发表于 2019-7-17 09:33
为什么addr 还可以传入参数3

var addr=calfactory(2);


function calfactory(base){
      return function (max){
                var total=0
                for(var i=0;i<=max;i++){
                        total+=i;
                }
                return total+base;//8
               
      }
}
var addr=calfactory(2);
alert(addr(3))


addr 是 calfactory(base) 的调用 返回的是 function (max) 匿名函数

也就是说 addr 是个匿名函数 而这个匿名函数还接受一个参数 max

就变成了 addr(3)

chenlunyong1213 发表于 2019-7-17 10:12:45

、尾指一勾 发表于 2019-7-17 09:54
function calfactory(base){
      return function (max){
                var total=0


感谢答复
谢谢
页: [1]
查看完整版本: 问下大神 下面的函数怎么理解