为了账号安全,请及时绑定邮箱和手机立即绑定

关于valueOf、toString还有及柯里化函数在不同浏览器下的输出问题?

关于valueOf、toString还有及柯里化函数在不同浏览器下的输出问题?

holdtom 2019-02-13 15:19:36
写了一个函数,如下: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输出:彻底懵逼了......
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 392 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信