使用Console.log时,JavaScript“ReferenceError:value not defined”错误

时间:2014-10-03 15:31:49

标签: javascript

我正在使用tutorial by Thoriq Firdaus

的JavaScript Slider栏的修改版本

我正在尝试使用value将变量console.log(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);
});

1 个答案:

答案 0 :(得分:1)

正如@snemy和@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语句的地方看不到变量值;并且可能尚未调用slide函数。

如果您不熟悉该语言,可以详细了解范围here