2016-06-25 19 views
-1

矢印関数は、結果テキスト(6)ではなく関数テキスト - "(n)=> 5 + n"を返します。私は間違って何をしていますか?arrow関数は関数テキストを返しますが、結果は返しません(JavaScript)

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

あなたは関数を起動していない... 'のdocument.write(を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

関連する問題