JavaScriptは消滅すべきだったよな (767レス)
上下前次1-新
抽出解除 レス栞
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
487(2): デフォルトの名無しさん [sage] 2013/02/02(土) 07:20:59.56 AAS
>>484484(2): デフォルトの名無しさん [sage] 2013/02/01(金) 14:35:09.01 AAS
>>483
varは、同じ変数が上位のスコープにあったらそれを隠蔽するという仕様なだけで、
> 実際は「自分より上位のスコープにある、同名の変数を隠蔽する」機能
というのは変だぞ。
> ローカル変数を定義する
こっちが本筋の機能でしょ。
悪いが仕様を語るならまず仕様を読め。
「同じ変数が上位のスコープにあったらそれを隠蔽するという仕様」とやらで
alert(a)
var a = "A"
と
alert(a)
a = "A"
の振る舞いの違いを説明してくれ。
>>486486(2): デフォルトの名無しさん [sage] 2013/02/01(金) 17:29:09.66 AAS
>>485
varみたいなものが無い場合、
上位のスコープで使ってるかもしれない名前の変数をローカルで使いたいときはどうするの?
デフォルトでは上位のスコープを見に行かないとか?
何を言いたいのか解らんがJavaScriptも変数宣言は環境ローカルしかないぞ。
492(1): デフォルトの名無しさん [sage] 2013/02/03(日) 18:21:35.93 AAS
実質的意味とか宣う頓珍漢な俺様曲解に実質的意味など何も無いからw
varの意味はローカル変数を宣言して実際に生成すること。
具体的には変数スコープに入ったときにスコープ内のvar以下の識別子を全て列挙して
スコープ内の変数名として扱い、値としてundefinedを代入する。これが仕様。
varによってローカル変数が宣言され生成された「結果の一部」がそれ以後の変数への
代入や参照でスコープが制限されているように見えるだけの話。しかしその理解も全体
の一部にしか過ぎないから、「隠蔽」とか「スコープの制限」とかいう理解に留まって
いる限り>>487の例ですら解釈出来ない。
そんな問題ありありの俺様曲解にこだわるメリットなんて何も無いと思うのだがwww
仕様通りの「ローカル変数を宣言」で何も困らん。
505: 483 [sage] 2013/02/05(火) 10:04:46.71 AAS
>>485485(5): デフォルトの名無しさん [sage] 2013/02/01(金) 15:57:37.43 AAS
別にvarが無くたって変数が暗黙的に定義できてクロージャが使える言語なんていくらでもあるでしょ。
>>483は曲解過ぎる。
で
JavaScriptのvar無しでの振る舞いの仕様がウンコであることはstrictモードの存在自体が証明している。
strictモードとか付けたことないし…。
>>487 えっと思って試しに書いてみたら、ほんとに未定義エラー出るし…。
自分の不勉強で話に着いていけないから、もうROMってたんだが……
なぜか>>484が難癖付けられててワロタw
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.032s