JavaScript を自ら学ぶ人のための質問スレッドです。
>>2-6のテンプレを読んだ上で質問してください。次スレは>>950が>>2のテンプレ案(本スレで改善案があれば考慮)を元に立ててください
■質問を書く上で
(1) 煽り、コード制作依頼等、人を不快にさせる投稿はご遠慮下さい。公序良俗を守った応対を心がけてください。
(2) 他の人に迷惑をかけるスクリプトの質問はご遠慮ください。
(ブラクラ、[戻る], [閉じる], [クリック] の妨害、画面占有など)
(3) 質問者及び議論を行う人はメール欄を空欄にし、名前にレス番を入れることを強く推奨します。回答者はなりすましを判断できませんので、なりすましが現れても自己責任となります。
(4) 常に自発的に調べる心構えを持ってください。
具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。
わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。
(5) 出来るだけ一般的な用語を使用してください。脳内オレオレ用語は混乱の元です。
(6) 出来るだけサンプルコードを掲示してください。言葉による説明は行き違いが生まれる場合があります。
※必ず「問題の事象が再現されること」を確認してください。
必要な部分だけ切り出したつもりで現象が再現できていなかったケアレスミスがしばしば見られます。
(7) サンプルコードに HTML が含まれる場合は http://validator.w3.org/ で [Check] してみてください。
(8) 質問を具体的かつ詳細に書くと回答を得られやすいです。>>2の質問テンプレートを活用してみてください。
(9) ライブラリ関連の質問は禁止です。関連スレにあるライブラリ質問スレで質問して下さい。
(10) 時にはあなたが望む「答え」だけでなく、「意見」などが寄せられる場合もあります。
※前スレ
+ JavaScript の質問用スレッド vol.122 +
http://echo.2ch.net/test/read.cgi/tech/1472426483/
VIPQ2_EXTDAT: checked:vvvvvv:1000:512:----: EXT was configured
探検
+ JavaScript の質問用スレッド vol.123 + [無断転載禁止]©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ efff-U/Pn [183.76.238.232])
2017/04/02(日) 23:30:38.56ID:Qcd0Qmy10993デフォルトの名無しさん (ワッチョイ df4e-9n+R [210.138.216.243])
2021/11/09(火) 20:54:12.85ID:qOqV7S2Y0 そもそもc1一回しか呼び出してないけどな
994デフォルトの名無しさん (ブーイモ MMa3-8Kye [202.214.125.68])
2021/11/09(火) 21:10:09.46ID:JS6FzrkbM カウンタを初期化する部分を繰り返し呼び出す関数の外に出してやればいい
let c=0;
function c1(){
return c++;
}
let c=0;
function c1(){
return c++;
}
995デフォルトの名無しさん (ワッチョイ ff46-H2rd [111.98.111.65])
2021/11/09(火) 22:41:36.85ID:RTTrqb1f0 >>990はレキシカルを理解してるなら
s1とs2のレキシカルが違うことをだな
s1とs2のレキシカルが違うことをだな
996デフォルトの名無しさん (ワッチョイ 5f21-+Epa [222.230.61.102])
2021/11/10(水) 12:09:40.50ID:KxrU4/8D0 うむ
997デフォルトの名無しさん (ワッチョイ 5f21-+Epa [222.230.61.102])
2021/11/10(水) 12:24:11.84ID:KxrU4/8D0 >>989
関数やブロックはプロパティをLexicalという場所に登録するんだけど
プロパティを参照した時には、関数内やブロック内のLexicalを参照し
そこにプロパティが登録されてないとその直外のLexicalを参照します
関数は、呼び出しごとに内部Lexicalが生成されるので
c1();c1();c1()と呼び出すと、別々の3つの内部Lexicalが生成され
それらに別々のlet cが登録されるので、c=0となります
s1にはc1()への関数の参照が格納されてるので
s1を複数回呼び出すと、c1()を複数回参照し
上記と同じ結果になります
一方でc2()がreturnで戻す内部関数は直外のLexicalのあるcを参照します
s2()を複数回呼び出すと、同じLexicalのcを参照するので
s2()の複数呼び出しでcはインクリメントされていくのですね
990先生や994先生のご指摘を血肉にされるといいでしょう
関数やブロックはプロパティをLexicalという場所に登録するんだけど
プロパティを参照した時には、関数内やブロック内のLexicalを参照し
そこにプロパティが登録されてないとその直外のLexicalを参照します
関数は、呼び出しごとに内部Lexicalが生成されるので
c1();c1();c1()と呼び出すと、別々の3つの内部Lexicalが生成され
それらに別々のlet cが登録されるので、c=0となります
s1にはc1()への関数の参照が格納されてるので
s1を複数回呼び出すと、c1()を複数回参照し
上記と同じ結果になります
一方でc2()がreturnで戻す内部関数は直外のLexicalのあるcを参照します
s2()を複数回呼び出すと、同じLexicalのcを参照するので
s2()の複数呼び出しでcはインクリメントされていくのですね
990先生や994先生のご指摘を血肉にされるといいでしょう
998デフォルトの名無しさん (ワッチョイ df4e-9n+R [210.138.216.243])
2021/11/10(水) 13:11:24.52ID:ABhSQgxq0 ところでクロージャーって用語の使い方について質問があるんだけどc2自体をクロージャーって言うのかc2が返してる無名関数をクロージャーって言うのかどっちが正しいの?
999デフォルトの名無しさん (ワッチョイ 7f52-hQZx [61.87.108.223])
2021/11/10(水) 15:30:26.98ID:jxD2VXPG01000デフォルトの名無しさん (ワッチョイ 5f21-+Epa [222.230.61.102])
2021/11/10(水) 17:31:05.10ID:KxrU4/8D0 closer != function
closer == function + environment.information
JSで説明されてるクロージャーは
関数、関数の内部情報、外部参照ポインタのセット
っていう大まかな理解でいいと思います
function f(){let a;}の場合、
関数f、内部プロパティa、外部参照ポインタの参照先(グローバル)、というセットがクロージャー
ちょっと大まかすぎますか?
返される無名関数はクロージャーの仕組みを
コードで理解するために多用されているために
それ自体をクロージャーと認識する人も多いでしょう
また関数内プロパティは外部から直接アクセスできないので
外部からクローズになっているという意味で
関数自体をクロージャーといっていたり
外部から関数内にアクセスできない状態をクロージャーという人も多いでしょう
次スレで先生方からアドバイスいただけますといいですね
私も心待ちにしています
>>999様、ありがとうございます
closer == function + environment.information
JSで説明されてるクロージャーは
関数、関数の内部情報、外部参照ポインタのセット
っていう大まかな理解でいいと思います
function f(){let a;}の場合、
関数f、内部プロパティa、外部参照ポインタの参照先(グローバル)、というセットがクロージャー
ちょっと大まかすぎますか?
返される無名関数はクロージャーの仕組みを
コードで理解するために多用されているために
それ自体をクロージャーと認識する人も多いでしょう
また関数内プロパティは外部から直接アクセスできないので
外部からクローズになっているという意味で
関数自体をクロージャーといっていたり
外部から関数内にアクセスできない状態をクロージャーという人も多いでしょう
次スレで先生方からアドバイスいただけますといいですね
私も心待ちにしています
>>999様、ありがとうございます
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 1682日 18時間 0分 27秒
新しいスレッドを立ててください。
life time: 1682日 18時間 0分 27秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 中国「国連安保理の許可なしに日本攻撃可能」 Xで旧敵国条項に言及… ★9 [BFU★]
- 【赤坂ライブハウス刺傷】逃走していた自衛官の男(43)を殺人未遂の疑いで逮捕 警視庁 被害女性とは知人関係 [Ailuropoda melanoleuca★]
- 【千葉】コンビニに尿入りペットボトル並べた疑い、26歳男「むしゃくしゃして」…購入した客が飲もうとしたところ臭いに違和感 [ぐれ★]
- 中国官製報道「日本経済はもう持たない」にネット民ツッコミ「ニュースだけ見てたら日本はもう百回くらい爆発してる」 [1ゲットロボ★]
- 植田日銀総裁 「円安進行が物価高を起こしている」 ★4 [お断り★]
- 高市首相が異例の“買春行為の罰則化の検討”に言及…世界では“買う側”に罰則を科すのが先進国のスタンダード ★2 [樽悶★]
- 脳ぶっ壊れワイにおすすめの快楽手段
- 【ガチ正論】一般人「中国に規制制裁されて、『中国ムカつく』じゃなくて矛先が『許さんぞ高市』になってる奴、頭おかしいの?」 ★2 [153490809]
- ジャパニーズってジャパニーズじゃん?
- 店員に「あっこいつセックスするんだな」って思われずにコンドーム買う方法
- 中国のロボット部隊がすごい。仮に中国と戦争になったら日本人はロボットと戦わないとならなくなる [805596214]
- ツキノワグマ vs ヒグマ vs メカヒグマ vs モスラ vs キングギドラ
