JavaScript”;ReferenceError:值未定义“;使用Console.log时出错

JavaScript "ReferenceError: value is not defined" error when using Console.log

本文关键字:Console 使用 log 出错 未定义 ReferenceError JavaScript      更新时间:2023-09-26

我使用的是Thoriq Firdaus 教程中的JavaScript Slider栏的修改版本

我正试图使用console.log(value)将变量value打印到我的Firefox控制台,但我一直收到以下错误

ReferenceError:值未定义

console.log(值)

有人能告诉我出了什么问题吗?

$(function () {
    var initX=0,minX=50,width=400;        
    var slider = $('#slider'),
        tooltip = $('.tooltip');
    slider.slider({
        //Config
        min: -50,
        max: +50,
        value: 0,
        start: function (event, ui) {
            tooltip.fadeIn('fast');
        },
        //Slider Event
        slide: function (event, ui) { 
            var value = slider.slider('value'),
                volume = $('.volume');
            tooltip.css('left', initX+(value*width)/100).text(ui.value); 
        },
        stop: function (event, ui) {
        },
    });
    initX=slider.slider("value");
    console.log(value)
    var txt=initX;
   initX+=(minX*width)/100;
tooltip.css('left',initX).text(txt);
});

正如@snmy和@SLaks所解释的,变量'value'仅在包含其声明的函数调用的范围内可见。

因此,为了澄清,这将起作用:

    //Slider Event
    slide: function (event, ui) { 
        var value = slider.slider('value'),
            volume = $('.volume');
        console.log(value);
        tooltip.css('left', initX+(value*width)/100).text(ui.value); 
    }

但不是您尝试过的,因为变量值在您放置console.log语句的位置不可见;并且CCD_ 4函数可能还没有被调用。

你可以在这里阅读更多关于作用域的信息,以防你是该语言的新手。