Javascript 使用js对象调用其他函数

Javascript 使用js对象调用其他函数,javascript,jquery,function,object,Javascript,Jquery,Function,Object,我有两个函数1和2,其中函数1调用第二个函数,但不起作用 例如: function one() { var a = 1; var position = { global: function(b) { console.log(b); } } } function two(){ $(window).on('swipedown', function() { one(); position.global(a); }); } two(); 演示` 这里的问题是变量

我有两个函数1和2,其中函数1调用第二个函数,但不起作用

例如:

function one() {
 var a = 1;
 var position = {
  global: function(b) {
    console.log(b);
  }
 }
}

function two(){
 $(window).on('swipedown', function() {
   one();
   position.global(a);
});
}

two();
演示`


这里的问题是变量
a
位置
的范围,因为您已经在函数
one
中声明了它们,它只存在于该函数内部,一旦函数退出,变量就不再可用

由于要访问函数
two
中的变量,因此需要在共享范围内声明它们,如

var位置,a;
功能一(){
a=1;
职位={
全球:职能(b){
log('b:'+b);
}
}
}
函数二(){
$(窗口).on('scroll',function(){
一个();
职位:全球(a);
});
}
二()
正文{
高度:3000px;
}

您需要在函数外部声明a和position对象,以避免关闭

var a = null, position = {};

function one() {
  a = 1;
  position = {
  global: function(b) {
    console.log(b);
  }
 }
}

function two(){
 $(window).on('swipedown', function() {
   one();
   position.global(a);
});
}

two();

您需要在共享范围中声明
a
position
,如果您不想污染外部范围,另一种方法是让函数返回相关变量