Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从其他函数获取属性_Javascript_Jquery - Fatal编程技术网

Javascript 如何从其他函数获取属性

Javascript 如何从其他函数获取属性,javascript,jquery,Javascript,Jquery,我想从其他函数访问var w值。有可能吗 <script type="text/javascript"> var first = { myFirst: function(){ var w= 90; var q=12; }} var second= { mySecond: function(){ first.myFirst.w }} </script> var first={ myFirst:函数(){ var w=90; var q=12; }} 第二个

我想从其他函数访问var w值。有可能吗

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


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

var first={
myFirst:函数(){
var w=90;
var q=12;
}}
第二个变量={
mySecond:function(){
第一,我的第一
}}

这样您就无法访问
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
添加为函数
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

这样,您就无法访问
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
添加为函数
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

不,这是不可能的,因为w的范围在函数中。一旦函数被调用,w就不再存在

另外,从技术上讲,您需要调用first.myFirst().w

要使其发挥作用,您可以这样做:

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

first.myFirst().w // now works.

不,这是不可能的,因为w的范围在函数中。一旦函数被调用,w就不再存在

另外,从技术上讲,您需要调用first.myFirst().w

要使其发挥作用,您可以这样做:

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

first.myFirst().w // now works.

是的,刚刚修好,对不起。弄糊涂了(不幸的是用javascript很容易做到)。是的,刚刚修复了它,抱歉。感到困惑(不幸的是,在javascript中很容易做到)。