Javascript 使用js对象调用其他函数
我有两个函数1和2,其中函数1调用第二个函数,但不起作用 例如: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(); 演示` 这里的问题是变量
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
,如果您不想污染外部范围,另一种方法是让函数返回相关变量