将变量从父函数传递给子函数

时间:2017-07-24 05:58:08

标签: javascript jquery

我有这样的事情:

function parent(one,two,three,yahoo) {
  blabla
  blabla
  function(what,where,how,one,two) {
     blabla
     //usage of what, where, how, one, two
     blabla
  }
  blabla
  blabla
}

所以,正如你所看到的,我想通过"一个"和"两个"来自"父母"到了孩子"。

我怎样才能以跨浏览器的方式实现这一目标?

4 个答案:

答案 0 :(得分:1)

父函数的范围包括子函数,因此子函数可以在不传递它们的情况下访问它们。只需将它们排除在参数列表之外。

function parent(one,two,three,yahoo) {
  blabla
  blabla
  function(what,where,how) {
     blabla
     //usage of what, where, how, one, two
     blabla
  }
  blabla
  blabla
}

有关详细信息,请参阅What is the scope of variables in JavaScript?

答案 1 :(得分:0)

function parent(one,two,three,yahoo) {
 function a (what,where,how,one,two) {
console.log(one + two);
 }
  a(1,2,3,this.one,this.two);

}

parent(1,2,3,4);

使用'this'传递父函数的参数。

答案 2 :(得分:0)

在您的子函数中,您可以调用您的父变量,并将它们作为子函数中的参数传递...

选中此fiddle

function parent(one,two,three,yahoo) {
 console.log(one);
 console.log(two);
 console.log(three);
 console.log(yahoo);

  function child(what,where,how) {
 console.log(one);
 console.log(two); 
 console.log(what);
 console.log(where); 
 console.log(how);
  }

  child("what","where","how");
}

parent("1","2","3","yahoo");

答案 3 :(得分:0)

您无需传递它们。默认情况下,子函数可以访问父函数变量

var parent=function(one) {
  //something
  var child=function(one){
    alert(one);
  }
  child(one);
}

parent("this is the parent variable to child scope.");