写了一个函数,如下:function add(){ let arr = []; arr = arr.concat(Array.prototype.slice.apply(arguments)) let fun = function(){ arr = arr.concat(Array.prototype.slice.apply(arguments)) return fun } fun.toString = function(){ console.log(222) return arr.reduce(function(total, num){ return total+num }, 0) } return fun}console.log(add(1,2)(2,3)(3))函数的作用就是累加参数求值,但是问题来了,下面是chrome的输入:有两个问题:为什么不是直接输出11,而是f 11为什么不是先输出222呢,感觉是要先做类型转换再打印呢问题并没有结束,同样的代码在FF上的输出:怎么把fun函数输出来了......还有node输出:彻底懵逼了......
添加回答
举报
0/150
提交
取消