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



All times are UTC + 9 hours

新しいトピックを投稿する トピックへ返信する  [ 3 件の記事 ] 
作成者 メッセージ
投稿記事Posted: 2009年11月04日(水) 23:38 
オフライン

登録日時: 2007年12月21日(金) 13:42
記事: 19
コード:
    var v1 = 'OK';
    {
      var v1 = 'NG';
    }
    alert(v1);


Firefox3.5.4 でこのコードを実行すると、「NG」が alert表示されます。 「OK」が表示されるか、せめてエラーになって欲しいと思うのですが、こういう規格なんでしょうか?


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2009年11月05日(木) 01:24 
オフライン
Moderator

登録日時: 2007年5月03日(木) 01:11
記事: 92
お住まい: 東京
var宣言はそういう仕様です。
ブロックスコープを使いたい場合は、JavaScript 1.7から導入されたletを使う必要があります。
http://nanto.asablo.jp/blog/2006/07/08/437419
こちらの記事ではletを使わずにwithでそれっぽく書く方法も紹介されてます。


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2009年11月05日(木) 02:04 
オフライン

登録日時: 2007年12月21日(金) 13:42
記事: 19
そうだったんですか。 ありがとうございます。

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

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

# 本当は、新たに文法を覚えなくても良い方法がうれしかったのですが。


通報する
ページトップ
 プロフィール  
引用付きで返信する  
期間内表示:  ソート  
新しいトピックを投稿する トピックへ返信する  [ 3 件の記事 ] 

All times are UTC + 9 hours


オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[7人]


トピック投稿:  可
返信投稿:  可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

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