題目可能描述的不正確 代碼如下
function add(arr){
var num=0
for(i=0;i<arguments.length;i++){
num+=arguments[i]
}
var tmp=function(x){
num+=x
return tmp
}
tmp.toString=function(){
return num
}
return tmp
}
var num1=add(1,2)(3)
var num2=add(1,2).toString()
console.log(num1,typeof(num1),num2,typeof(num2))
//==> ? 6 "function" 3 "number"
看帖子說的是如果函式體有默認的函式 會自動執行
但是不行 只有在外面呼叫的時候才會執行
想問一下 是否可以直接拿到'number'型別資料
uj5u.com熱心網友回復:
這樣寫才會自我呼叫,函式體內部呼叫與外部呼叫沒有什么區別,但是要注意設定條件,否則就是死回圈了
(function () {
var x = "Hello!!"; // 我將呼叫自己
})();
uj5u.com熱心網友回復:
這樣寫不行 可能代碼縮進有點亂 表達也不太清楚 函式是在函式體里面 我要的是 函式 return 結束后自呼叫tostring函式
uj5u.com熱心網友回復:
應該表達為在特定時刻自呼叫
uj5u.com熱心網友回復:
當回傳的函式處于數學運算式中就自動呼叫toString了。
var num2 = 0+add(1,2)
uj5u.com熱心網友回復:
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/251079.html
標籤:JavaScript
