0

他の関数から var w 値にアクセスしたい。出来ますか。

<script type="text/javascript">
var first = {
myFirst: function(){
var w= 90;
var q=12;
}}


var second= {
mySecond: function(){
first.myFirst.w     
}}
</script>
4

2 に答える 2

3

wのローカルスコープで定義されているため、その方法ではアクセスできませんmyFirst。次のようなことができます:

var first = {
  myFirst: function(){
    first.myFirst.w = 90;
    var q=12;
  }
};

var second= {
  mySecond: function(){
    alert(first.myFirst.w);
  }
};

first.myFirst();
second.mySecond(); //alerts 90

そのようwにして、 function のプロパティとして追加されます。 のmyFirstプロパティとして追加する場合はfirst、次を使用します。

var first = {
  myFirst: function(){
    this.w = 90;
    var q=12;
  }
};

var second= {
  mySecond: function(){
    alert(first.w);
  }
};

first.myFirst();
second.mySecond(); //alerts 90
于 2013-02-23T09:25:14.577 に答える
0

w のスコープは関数内にあるため、それは不可能です。関数が呼び出されると、 w は存在しなくなります。

また、技術的には、first.myFirst().w; を呼び出す必要があります。

それを機能させるには、代わりにこれを行うことができます:

var first = {
  myFirst: function(){
    var w= 90;
    var q=12;
    return { w : w };
  }
}

first.myFirst().w // now works.
于 2013-02-23T09:25:26.763 に答える