迷失在javascript范围内
有人能帮我完成下面的(简化)代码吗。我试图从幻灯片事件函数中调用迷失在javascript范围内,javascript,event-handling,scope,Javascript,Event Handling,Scope,有人能帮我完成下面的(简化)代码吗。我试图从幻灯片事件函数中调用doTheSlide()函数。我对JS中的作用域的理解仍然有点模糊 实现这一目标的正确方法是什么?我得到了这个错误: 未捕获类型错误:对象不是函数 你需要在某处声明“doTheSlide”。您似乎将其用作全局函数,这在大多数情况下都是错误的。确保所有内容都正确声明(使用var或使用命名函数) 以下是您的代码的固定版本(我更喜欢的方式): 记住在使用函数之前先声明它们。调用稍后声明的函数是可行的,但这不是好的样式 替代语法: (fun
doTheSlide()
函数。我对JS中的作用域的理解仍然有点模糊
实现这一目标的正确方法是什么?我得到了这个错误:
未捕获类型错误:对象不是函数
你需要在某处声明“doTheSlide”。您似乎将其用作全局函数,这在大多数情况下都是错误的。确保所有内容都正确声明(使用var或使用命名函数) 以下是您的代码的固定版本(我更喜欢的方式): 记住在使用函数之前先声明它们。调用稍后声明的函数是可行的,但这不是好的样式 替代语法:
(function($) {
var doTheSlide = function(value) {
//Animate the slide
};
var bindEvent = function(slider) {
slider.bind('slide', function(event, ui) {
doTheSlide(ui.value);
});
};
})(jQuery);
你需要在某处声明“doTheSlide”。您似乎将其用作全局函数,这在大多数情况下都是错误的。确保所有内容都正确声明(使用var或使用命名函数) 以下是您的代码的固定版本(我更喜欢的方式): 记住在使用函数之前先声明它们。调用稍后声明的函数是可行的,但这不是好的样式 替代语法:
(function($) {
var doTheSlide = function(value) {
//Animate the slide
};
var bindEvent = function(slider) {
slider.bind('slide', function(event, ui) {
doTheSlide(ui.value);
});
};
})(jQuery);
您是否尝试过将
var
放在包含这些anon函数的变量的from中?您是否尝试过将var
放在包含这些anon函数的变量的from中?+1用于在函数表达式之前建议函数声明更清晰的语法并利用“提升”.+1,用于在函数表达式之前建议函数声明更清晰的语法,并利用“提升”。
(function($) {
var doTheSlide = function(value) {
//Animate the slide
};
var bindEvent = function(slider) {
slider.bind('slide', function(event, ui) {
doTheSlide(ui.value);
});
};
})(jQuery);