如何在JS中更新变量

How to update variable in JS

如何从函数更新变量? 我有这个。但是在 "updateFilter()" 之后两个变量仍然为“0”。 如果没有滑块功能 运行 "loadAjax(var1, var2)",我该怎么做?

var var1 = 0,
    var2 = 0;

$("#slider").slider({
    // options...
    stop: function( event, ui ) {
        var var1 = ui.values[ 0 ], // <- changes on move
            var2 = ui.values[ 1 ]; // <- changes on move
        updateFilter();
    }
});

function updateFilter() {
    loadAjax(var1, var2);
}

对不起我的英语

你的代码有问题是你定义了你在全局范围内定义的同一个变量

var var1 = 0,
    var2 = 0;

//in function below you are redefining var1 and var2 varible please dont do that 
 stop: function( event, ui ) {
        var var1 = ui.values[ 0 ], // <- changes on move
            var2 = ui.values[ 1 ]; // <- changes on move
        updateFilter();

而不是上面的代码停止方法应该是

 stop: function( event, ui ) {
            var1 = ui.values[ 0 ], // <- changes on move
            var2 = ui.values[ 1 ]; // <- changes on move
        updateFilter();

你为什么不像这样直接传递变量给函数

updateFilter(var1, var2);


function updateFilter(var1, var2) {
    loadAjax(var1, var2);
}

http://jsfiddle.net/kcg1hmsu/

你的值是 0,因为你隐藏了你的全局变量,你可以简单地删除停止函数中的 var

$("#slider").slider({
    // options...
    stop: function( event, ui ) {
         var1 = ui.values[ 0 ], // <- changes on move
         var2 = ui.values[ 1 ]; // <- changes on move
         console.log(var1, var2);
        updateFilter();
    }
});