[過去ログ]
JavaScript の質問用スレッド vol.125 (1002レス)
JavaScript の質問用スレッド vol.125 http://mevius.5ch.net/test/read.cgi/tech/1659855460/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
499: デフォルトの名無しさん (ワッチョイ 8202-9yt5 [27.92.176.51]) [] 2023/01/04(水) 19:01:14.59 ID:jNmuxM610 「無名関数」、「関数リテラル」の理解がちょっとぼやけています。 次の様なコードがあったとき、 let calcResult = function calc(a,b){ return a*b; } calc() と()をつけて表せるものが普通の関数、それを変数に代入したもの calcResult が関数リテラルかと思っていました。 しかし、どうやら違うようで。。 http://mevius.5ch.net/test/read.cgi/tech/1659855460/499
500: デフォルトの名無しさん (ワッチョイ 8202-9yt5 [27.92.176.51]) [] 2023/01/04(水) 19:01:57.33 ID:jNmuxM610 例えば以下の2つの関数があります。 ■「function関数」を変数に格納 let calcResult1 = function calc(a,b){ return a*b; } ■「無名関数」を変数に格納 let calcResult2 = function(a,b){ return a*b; } 「無名関数」は「関数リテラル」と同義である。とさまざまな文献に記述されています。 ならば、 calcResult1 は、関数リテラルではない。 calcResult2 は、関数リテラルである。 という認識で間違っていないでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1659855460/500
501: デフォルトの名無しさん (ワッチョイ 8202-9yt5 [27.92.176.51]) [] 2023/01/04(水) 19:02:26.96 ID:jNmuxM610 SetInterval() に与える引数は、関数リテラルでなくてはならないそうです。 となると、以下は誤りで、 SetInterval(calcResult1,1000); 以下なら問題ない SetInterval(calcResult2,1000); という理解でよろしいでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1659855460/501
505: デフォルトの名無しさん (ワッチョイ 8202-9yt5 [27.92.176.51]) [sage] 2023/01/04(水) 20:57:54.46 ID:jNmuxM610 >>502 すっごい分かりやすい。 モヤモヤしていたのがすっきりしました。 ありがとうございました。 http://mevius.5ch.net/test/read.cgi/tech/1659855460/505
508: デフォルトの名無しさん (ワッチョイ 8202-9yt5 [27.92.176.51]) [sage] 2023/01/04(水) 21:23:57.48 ID:jNmuxM610 あれ。関数リテラルには引数はないのか。。引数の不要な関数しか関数リテラルにならんのか。 もちょっと調べてみます。 http://mevius.5ch.net/test/read.cgi/tech/1659855460/508
509: デフォルトの名無しさん (ワッチョイ 8202-9yt5 [27.92.176.51]) [] 2023/01/04(水) 21:32:15.85 ID:jNmuxM610 >>507 必要ならページ画像をどっかにアップします。。 技術評論社 JavaScript本格入門 https://gihyo.jp/book/2016/978-4-7741-8411-1 P362 setTimeout/SetIntervalメソッドの注意点 ...引数funcは必ず関数リテラルで指定してください。 http://mevius.5ch.net/test/read.cgi/tech/1659855460/509
510: デフォルトの名無しさん (ワッチョイ 8202-9yt5 [27.92.176.51]) [sage] 2023/01/04(水) 21:39:03.24 ID:jNmuxM610 でも何かの引数に関数をわたすときは、 一般的に関数リテラルで渡すのがデフォと ぼんやり思っている。 http://mevius.5ch.net/test/read.cgi/tech/1659855460/510
514: デフォルトの名無しさん (ワッチョイ 8202-9yt5 [27.92.176.51]) [] 2023/01/04(水) 22:21:10.60 ID:jNmuxM610 >>512 setTimeout()の例でしかもjQueryで 申し訳ないのですが。 1秒後に#displayのhtmlの内容を空にするコードです。 以下のようなコードではsetTimeoutが動かず、 setTimeout($('#display').html(' '), 1000); 代わりに、以下で動きます。 function clearDisplay(){ $('#display').html(''); } setTimeout(clearDisplay, 1000); このことから書籍にあるように 関数リテラルでないと引数に渡せないと 思っていました。。 書籍の文脈ですが、実際にあとで画像アップします。 http://mevius.5ch.net/test/read.cgi/tech/1659855460/514
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.043s