0

jquery

$(selector).on('click',function(){
var $myvar = 'hi';
});

alert($myvar); // this won't alert hi as this is out of click function

関数の外で $myvar を呼び出すにはどうすればよいですか?


アップデート

以下の回答を試しましたが、動作していないようですhttp://jsfiddle.net/G5vAv/1/

アラート時に値「hi」を返したいと思います。何か案が?

4

4 に答える 4

0
var $myvar;
$(selector).on('click',function(){
   $myvar = 'hi';
});
alert($myvar);

クリック関数内で var を使用すると、クリック関数内でのみアクセスできる$myvarとして設定されます。local variable

変数を外部からアクセスできるようにするには、変数を外部で宣言する必要があります。

詳しくはjavascript-variable-scope

于 2013-09-12T04:54:03.290 に答える
0

そのように関数の外で変数を宣言する必要があります

var $myvar;
$(selector).on('click',function(){
    $myvar = 'hi';
});

alert($myvar);

これは、javascript のスコープが異なるために発生します。変数は関数のスコープに適用され、アラートはそのスコープ外にあるため、アクセスできません。

覚えておかなければならないのは、javascript がダウンしていない変数を検索することです。そのため、現在のレベル以上で宣言されている変数にのみアクセスできます。いくつかの例を次に示します。

var level_1;

// I can access level 1

function somefunc() {
   var level_2;
   // I can access levels 1 & 2


   return function() {
      var level_3;
      // I can access levels 1, 2 & 3 
   }
}
于 2013-09-12T04:54:25.320 に答える