― MozillaZine.jp フォーラムは Mozilla 製品に関する情報交換の場です ―



All times are UTC + 9 hours

返信する
ユーザー名:
件名:
オプション:
BBCode: ON
[img]: ON
[flash]: OFF
[url]: ON
スマイリー: ON
BBCode を無効にする
フォントサイズ:
フォントカラー
スマイリーを無効にする
URL を自動的にパースしない
ユーザエージェントを表示する
認証コード
KCaptcha by Nikita_Sp
   

トピックのレビュー - JavaScript ブロック内定義変数の挙動
作成者 メッセージ
  記事の件名:  Re: JavaScript ブロック内定義変数の挙動  引用付きで返信する
そうだったんですか。 ありがとうございます。

ブロックスコープって言うんですね、これ。 無いと、使い捨て変数の名前決めに思考を奪われちゃうんですよね。

let と with は知らなかったので、勉強します。

# 本当は、新たに文法を覚えなくても良い方法がうれしかったのですが。
投稿記事 Posted: 2009年11月05日(木) 02:04
  記事の件名:  Re: JavaScript ブロック内定義変数の挙動  引用付きで返信する
var宣言はそういう仕様です。
ブロックスコープを使いたい場合は、JavaScript 1.7から導入されたletを使う必要があります。
http://nanto.asablo.jp/blog/2006/07/08/437419
こちらの記事ではletを使わずにwithでそれっぽく書く方法も紹介されてます。
投稿記事 Posted: 2009年11月05日(木) 01:24
  記事の件名:  JavaScript ブロック内定義変数の挙動  引用付きで返信する
コード:
    var v1 = 'OK';
    {
      var v1 = 'NG';
    }
    alert(v1);


Firefox3.5.4 でこのコードを実行すると、「NG」が alert表示されます。 「OK」が表示されるか、せめてエラーになって欲しいと思うのですが、こういう規格なんでしょうか?
投稿記事 Posted: 2009年11月04日(水) 23:38

All times are UTC + 9 hours


ページ移動:  
Powered by MozillaZine.jp® Forum Software © phpBB Group , Almsamim WYSIWYG
Japanese translation principally by ocean