在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ 關于valueOf、toString還有及柯里化函數(shù)在不同瀏覽器下的輸出問題?

關于valueOf、toString還有及柯里化函數(shù)在不同瀏覽器下的輸出問題?

寫了一個函數(shù),如下:

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))

函數(shù)的作用就是累加參數(shù)求值,但是問題來了,下面是chrome的輸入:

clipboard.png

有兩個問題:

  1. 為什么不是直接輸出11,而是f 11
  2. 為什么不是先輸出222呢,感覺是要先做類型轉(zhuǎn)換再打印呢

問題并沒有結(jié)束,同樣的代碼在FF上的輸出:

clipboard.png

怎么把fun函數(shù)輸出來了......

還有node輸出:

clipboard.png

徹底懵逼了......

回答
編輯回答
詆毀你

f 11 在chrome里面就是輸出函數(shù)字面量的意思吧?

2017年4月20日 12:28
編輯回答
綰青絲

做了一個小總結(jié):https://segmentfault.com/a/11...

2017年2月5日 23:57