2014-07-17 25 views
-3

有人能夠徹底向我解釋在JavaScript中返回什麼嗎?我相當新的JavaScript,我似乎無法繞過返回函數。我是一個完美主義者,所以它的目的是什麼?在你的功能中使用它有什麼區別 - 與不是?JavaScript中返回函數的機制?

謝謝。

+3

你不明白'return'在Javascript **或* any *語言中(因爲它在任何地方都差不多)?究竟是什麼*你明白這一點,究竟是什麼讓你感到困惑?你可以走多低?呃,答案有多深?內存分配,堆棧,寄存器?或者只是userland邏輯? – deceze

+0

可能的重複http://stackoverflow.com/questions/6735336/return-function-in-javascript-and-how-it-works?rq=1 –

+0

我正在學習Codecademy的JavaScript,這是第一個。從來沒有在HTML或CSS的返回功能。只要解釋它,答案不一定要深入。只知道它會「返回」一些東西並持有它,直到你製造出另一個命令? – user2300989

回答

1

它返回東西,就這麼簡單,該文檔只是說明

指定值如果返回值可以通過函數

MDN Documentation

function test() { 
    return 'stuff'; 
} 

var variabel = test(); // returns "stuff" 

返回未指定,默認情況下所有函數均返回undefined

+0

最後一句除了一個例外:如果一個函數被'new'操作符調用,它將返回一個對象。 – Teemu

0

功能接收輸入作爲參數併產生輸出返回值的形式。

var foo = Math.max(1, 2); 

Math.max功能12是其輸入參數,並且返回值被分配給foo。我希望這應該是清楚的。

當你寫你自己的功能,您使用return,好了,返回值回函數的調用,產生輸出

function myMax(a, b) { 
    if (a > b) { 
     return a; 
    } else { 
     return b; 
    } 
} 

var foo = myMax(1, 2); 

這基本上不一樣上面的Math.max的例子,但揭示了它的內部工作。變量foo將保存值2

只要調用return,函數就結束。例如: -

function foo() { 
    return 'bar'; 
    alert('baz'); 
} 

函數將永遠警惕「巴茲」,它總是返回值「欄中」返回給調用者在此之前,並由此結束。