2016-06-25 138 views
-1

箭頭函數返回函數文本 - 「(n)=> 5 + n」而不是結果(6)。我究竟做錯了什麼?箭頭函數返回函數文本而不是結果(javascript)

let n = 1; 
let newText = (n) => 5 + n; 
document.write(newText); 
+0

你不調用該函數..不喜歡'文件撰寫(newText(N));' – Redu

+0

另外請注意,N'隱藏變量'N'內的參數'箭頭功能。如果箭頭函數需要訪問變量'n',請爲該參數使用不同的名稱。 –

+0

閱讀JavaScript教程以更好地理解函數可能會使您受益:http://eloquentjavascript.net/03_functions.html。 –

回答

5

你不調用該函數:

document.write(newText(42)); 

這有什麼好做=>let,順便說一句:

function newText(n) { return 5 + n; } 
document.write(newText); 

有同樣的問題。

+0

爲什麼這不起作用?讓n = 1; document.write((n)=> 123 + n); –

+0

@AlexeyTseitlin工作正常:它將函數寫入文檔。 – melpomene

+0

但它會執行它... –

0

調用函數

document.write(newText(5));

0

您需要調用箭頭功能。

JS Fiddle

let n = 1; 
let newText = (n) => 5 + n; 
document.write(newText(n)); 
+0

爲什麼這不起作用?讓n = 1; document.write((n)=> 123 + n); –

+0

這不是箭頭函數的正確行爲。 – Manish