X



+ JavaScript の質問用スレッド vol.124 + [転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
2015/03/22(日) 16:19:45.75ID:nW67tQ7U
JavaScript を自ら学ぶ人のための質問スレッドです。
>>2-4のテンプレを読んだ上で質問してください。

■質問を書く上で
(1) 煽り、コード制作依頼等、人を不快にさせる投稿はご遠慮下さい。公序良俗を守った応対を心がけてください。
(2) 他の人に迷惑をかけるスクリプトの質問はご遠慮ください。
  (ブラクラ、[戻る], [閉じる], [クリック] の妨害、画面占有など)
(3) 質問者及び議論を行う人はメール欄を空欄にし、名前にレス番を入れることを強く推奨します。回答者はなりすましを判断できませんので、なりすましが現れても自己責任となります。
(4) 常に自発的に調べる心構えを持ってください。
  具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。
  わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。
(5) 出来るだけ一般的な用語を使用してください。脳内オレオレ用語は混乱の元です。
(6) 出来るだけサンプルコードを掲示してください。言葉による説明は行き違いが生まれる場合があります。
  ※必ず「問題の事象が再現されること」を確認してください。
   必要な部分だけ切り出したつもりで現象が再現できていなかったケアレスミスがしばしば見られます。
(7) サンプルコードに HTML が含まれる場合は http://validator.w3.org/ で [Check] してみてください。
(8) 質問を具体的かつ詳細に書くと回答を得られやすいです。>>2の質問テンプレートを活用してみてください。
(9) 時にはあなたが望む「答え」だけでなく、「意見」などが寄せられる場合もあります。


+ JavaScript の質問用スレッド vol.123 +
http://peace.2ch.net/test/read.cgi/hp/1423915644/

(ライブラリ禁止条項は、多数の意見によって廃止されました。ライブラリの質問もOKです)
0474デフォルトの名無しさん
垢版 |
2017/12/13(水) 11:05:15.10ID:p2PjkbUD
>>469
ありがとうございます
たしかにふるまいはクラスに似ていますね
静的スコープというのはレキシカルスコープというやつですね
たまに本の中で見かけるけど、良く分からず、分からないままにしていた言葉です
いま検索したところ、「JavaScript Good Parts」の中に
「JavaScriptの関数は、(大部分は)レキシカルなスコープを持つファーストクラスオブジェクトである」
と言及がありました。しかしその後、「レキシカルなスコープ」については説明がない
こんな風に、ただ出てくるだけの言葉、という印象があり、
今まで流していたのですが、これを機に勉強したいと思います
ありがとうございました
0475デフォルトの名無しさん
垢版 |
2017/12/13(水) 15:17:12.86ID:OuVjfgAH
>>474の件ですが
レキシカルスコープを分からなかったというより
ダイナミックスコープを知らなかっただけでした
ダイナミックスコープはコードの実行時にコールスタックを辿って変数を決める方式で
関数の中でローカルとして宣言されていない変数を見つけると、
処理系はコールスタックを辿り、呼び出し元のスコープの中で変数を探す
それを変数が見つかるか、グローバルスコープに突き当たるまで繰り返す
そういうものが
ダイナミックスコープだというのですが、
そんなの見たことがありません
それもそのはずで、
現代のプログラミング言語のほとんどがレキシカルスコープを採用しているとのこと。
そしてレキシカルスコープはダイナミックではないスコープ、
つまり現代のほとんどのプログラマーが「スコープとはこういうものだ」
と考えているスコープです
つまり構文の包含関係によって変数が決められる方式です
構文の包含関係に基づくので、変数が解決されるのは構文解析時です
そんなわけで普段プログラムを書いていて、
レキシカルスコープとダイナミックスコープの違いを意識することはあまりなさそうですが
処理系の内部動作にまで視点を広げた時には、
興味深いトピックとして立ち上がってきそうですね
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況