2017-06-13 275 views
0

道歉,如果這已被問及之前,我是一個相對新手編碼和不確定的關鍵字來搜索。Console.log和函數返回(Javascript)

函數分配供以後超時一些隨機值:

function getDelays(tonesTotal){ 
    var return_array = new Array(); 
    for (var i = 0; i < tonesTotal; i++) 
    { 
     var r = getRandInt(0, 600);  
     var delay = r * 1000; 
     return_array.push(delay); 
    } 
    console.log(return_array); 
    return return_array; 
} 

這樣,控制檯正確記錄return_array ...但翻轉順序:

return return_array; 
    console.log(return_array); 

...和控制檯保持沉默。爲什麼?

回答

2

return語句退出當前函數。

將不會運行其他代碼。

0

return語句退出該函數並且不運行下一個代碼語句。如果您使用像ESLint,JSLint這樣的棉絨工具,他們將顯示一條警告,指示檢測到無法訪問的代碼

return語句結束函數執行並指定要返回給函數調用方的值。如果您沒有在return語句中指定一個值並使用它,如return,則函數返回undefined

0

return語句將程序執行退出函數並返回到調用該函數的位置。 console.log()未被調用的原因是因爲如果執行return語句,那麼該函數下面的所有代碼都不會到達。