问答详情
源自:5-5 返回值的函数

求问box函数里返回的是sumF函数,而我并没有声明sumF,并且调用sum函数,执行后返回20,求告知为什么返回的是sum方法返回的值

 function box(sumF, num) {
	      return sumF(num);				
              }

            function sum(num) {
	return num + 10;
          }

       var result = box(sum, 10);
       alert(result);


提问者:慕娘3064969 2016-11-25 17:31

个回答

  • 老友丶
    2016-11-25 19:41:05
    已采纳

    box(sum,10) 肯定是执行第一个函数,结果是sunmF(10);这个时候没有玩,肯定还要执行sunmF函数,结果就是10+10=20;

  • 慕盖茨8583337
    2016-11-25 20:56:49

    sum函数被当作参数传入到sumF函数,然后sumF内的函数体实际上变为:return sum(num);num为10,返回值自然为20;

  • 方衡
    2016-11-25 19:48:39

     var result = box(sum, 10);你传入参数的时候,传入了一个函数名sum,它就会当成变量传入你的box函数中,然后执行sumF(num);也就是执行sum(10);最后结果就是10+10=20;