2

$(this)小さな1つまたは2つのボタンのマウスアップで設定されているグローバル変数がいくつかあります。mouseupのグローバル変数の比較に基づいて、私のコードは何かをする必要があります。Firebugのコードをステップ実行すると、変数が設定され、さらに数行ステップ実行すると、次のようになります。

ReferenceError:little_rが定義されていません。

alertはグローバルの値とその常に未定義を確認するためにを使用しました。グローバル変数が値を保存しないのはなぜですか?

ここにデモがあります

4

1 に答える 1

4

little_r(など)が常にnullである理由は、以下にパラメーターとしてlittle_rを追加したためです。

$('.small_r').on(mouseup, function(evt, little_r) {
    alert (little_r);
if (little_r == null) {

したがって、ローカル変数を作成します。little_rにアクセスしようとすると、ローカル(未定義)バージョンにアクセスします。

最終的に何を達成しようとしているのかわかりませんが、問題はローカル変数がグローバルバージョンをシャドウイングしていることにあります

于 2012-07-22T01:01:06.640 に答える