function add(){
let argc = Array.prototype.slice.call(arguments)
let innerAdd = function(){
argc.push(...arguments)
return innerAdd
}
// 为了使函数返回数据设置函数的toString方法
innerAdd.toString = function(){
return argc.reduce(function(acculate,nVale){
return acculate + nVale
})
}
// 这里发现返回的内容是的一个函数体时 发生了隐式转换
return innerAdd
}
// console.log( add(1)(2)(3))
console.log(typeof add(2,3,5))