一道js面试题

2019-07-11  本文已影响0人  蜗牛Coming

写一个函数,让add(1)(2)(3)可以输出6

function add(num){
    let init = num;  //用于初始化;
    function tempfn(num){
        init+= num;
        return tempfn;
    }
    tempfn.toString = function(){
        return init;
    }
    return tempfn; 
  // 返回的是一个函数体,如果该函数体有toString()方法,则会调用函数体的toString()方法,利用这个操作可以把上次累计的值返回出来  
}
console.log(add(1));            //1
console.log(add(1)(2)(3));   //6
上一篇 下一篇

猜你喜欢

热点阅读