迷失在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);