2

これは私のJavaScriptコードです

window.onload = function(event){
    var img = document.getElementsByTagName("img");
    img[0].onmousedown = function(event){          
        alert(five);
        var five = 5;            
    };      
};

画像を 2 回目にクリックしたときに番号 '5' のアラートが表示されることを期待していましたが、未定義のアラートが表示され続けます。なぜですか? 次に、alert ステートメントを onmousedown 関数の外に移動します。何も表示されません。

window.onload = function(event){
    var img = document.getElementsByTagName("img");
    img[0].onmousedown = function(event){          
        var five = 5;            
    };      
    alert(five);     
};

次に、onmousedown関数内でローカル変数が作成されていることが問題だと思いました。それで、「var」を省略してグローバル変数を作成するだけですが、それも機能しないようです。なぜですか???

window.onload = function(event){
    var img = document.getElementsByTagName("img");
    img[0].onmousedown = function(event){          
         var five = 5;           
    };      
    alert(five);     
};
4

5 に答える 5