2012-03-27 10 views
1

ウェブページに複数のスクリプトタグがあります。複数のスクリプトタグで同じ変数名を使用すると、変数が上記のスクリプトタグから間違った値を取得する問題が発生しますか?複数のスクリプトタグの変数が競合していますか?

<script type="text/javascript"> 
    var current = 0; 
</script> 

<script type="text/javascript"> 
    var current = 1; 
</script> 

2番目の発生で最初の原因が発生しますか?

+0

あなたは確認しようとしましたか? – Joseph

+0

提供される情報から得られる最良の答えは、**おそらく**問題を引き起こすことです。しかし、処理されたときに実行されたコードしかない場合(後で呼び出される関数は、 'current'の値に依存している特定の値ではありません)、あなたは大丈夫です。 –

答えて

4

はいです。 グローバル実行コンテキストは1つのみで、あなたのHTMLマークアップ内にいくつのノードがあるかは関係ありません。

だから、この特定の例では、current0windowオブジェクトにinitialzed取得し、1で上書きされます。

0

<script>タグのvar current = 1の直後に実行されるコードでcurrentを使用し、1以外の値を使用する状況に遭遇することはありません。

<script type="text/javascript"> 
    var current = 0; 
    alert(current); // will always alert 0 
</script> 

<script type="text/javascript"> 
    var current = 1; 
    alert(current); // will always alert 1, never 0 
</script> 

質問の側面「上記のスクリプトタグから誤った値を取得し、変数と原因の問題」を答える必要があります。非常に基本的な例を提供します。

関連する問題