4

JavaScript 関数を実行するとき、使用される変数がローカルかグローバルかをどのように判断できますか?

グローバル変数への変更を記録したいだけだからです。

<script>
   var a;
   a =4;

   function foo(){
       var a =3;
   }()

</script>

上記のコードを実行するとき、a=3 ではなく a=4 のみを記録したい。

4

3 に答える 3

7
<script>
  var a;
  a = 4;
  function foo(){
    // version 1:
    if (window.hasOwnProperty('a')){
      // "global" a exists
    }
    // version 2:
    if (typeof window.a !== 'undefined'){
      // "global" a exists and is defined
    }
  }();
</script>

そんな感じ?

于 2013-09-26T22:27:11.423 に答える