MozillaZine.jp フォーラム https://forums.mozillazine.jp/ |
|
JavaScript ブロック内定義変数の挙動 https://forums.mozillazine.jp/viewtopic.php?f=30&t=9339 |
ページ 1 / 1 |
作成者: | zxcv [ 2009年11月04日(水) 23:38 ] |
記事の件名: | JavaScript ブロック内定義変数の挙動 |
コード: var v1 = 'OK';
{ var v1 = 'NG'; } alert(v1); Firefox3.5.4 でこのコードを実行すると、「NG」が alert表示されます。 「OK」が表示されるか、せめてエラーになって欲しいと思うのですが、こういう規格なんでしょうか? |
作成者: | Piro [ 2009年11月05日(木) 01:24 ] |
記事の件名: | Re: JavaScript ブロック内定義変数の挙動 |
var宣言はそういう仕様です。 ブロックスコープを使いたい場合は、JavaScript 1.7から導入されたletを使う必要があります。 http://nanto.asablo.jp/blog/2006/07/08/437419 こちらの記事ではletを使わずにwithでそれっぽく書く方法も紹介されてます。 |
作成者: | zxcv [ 2009年11月05日(木) 02:04 ] |
記事の件名: | Re: JavaScript ブロック内定義変数の挙動 |
そうだったんですか。 ありがとうございます。 ブロックスコープって言うんですね、これ。 無いと、使い捨て変数の名前決めに思考を奪われちゃうんですよね。 let と with は知らなかったので、勉強します。 # 本当は、新たに文法を覚えなくても良い方法がうれしかったのですが。 |
ページ 1 / 1 | All times are UTC + 9 hours |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |