需要帮助清除简单jQuery函数中的编译器错误吗

需要帮助清除简单jQuery函数中的编译器错误吗,jquery,variables,compiler-errors,Jquery,Variables,Compiler Errors,在jQuery文件中,我有以下脚本: function incDistInput(){ $(".incInputBtn").on("click", function() { var $button = $(this), oldValue = $button.siblings("input").val(), quantity = oldValue.split(' miles'); if ($button.hasClass('plusBtn'))

在jQuery文件中,我有以下脚本:

function incDistInput(){

$(".incInputBtn").on("click", function() {

    var $button = $(this),
        oldValue = $button.siblings("input").val(),
        quantity = oldValue.split(' miles');

    if ($button.hasClass('plusBtn')) {
        var newVal = parseFloat(quantity[0]) + 1;
    } else {

    if (quantity[0] > 0) {
        var newVal = parseFloat(quantity[0]) - 1;
        } else {
        newVal = 0;
        }
    }

    $button.siblings("input").val(newVal + ' miles');

});

}
此函数在编译时出现以下错误:

var newVal = parseFloat(quantity[0]) - 1;
'newVal' is defined but never used. — column 17
'newVal' is already defined. — column 24

newVal = 0;
'newVal' used out of scope. — column 13

$button.siblings("input").val(newVal + ' miles');
'newVal' used out of scope. — column 39

如何重新排列或以其他方式定义这些变量以清除错误而不更改函数的输出?

尝试在
if
语句之外初始化
newVal
,以便识别它

var $button = $(this),
    oldValue = $button.siblings("input").val(),
    quantity = oldValue.split(' miles')
    var newVal = 0;

if ($button.hasClass('plusBtn')) {
    newVal = parseFloat(quantity[0]) + 1;
} else {

if (quantity[0] > 0) {
    newVal = parseFloat(quantity[0]) - 1;
    } else {
    newVal = 0;
    }
}

$button.siblings("input").val(newVal + ' miles');

尝试在if条件之前定义newVal。只需输入
var newVal=0第一个条件之前的任意位置;正如您在下面看到的,我尝试了这个,但是它给出了一个不同的错误我尝试了这个,但是它给出了一个新的错误
var newVal=parseFloat(数量[0])+1;'“newVal”已定义。-第24列
当然,您正在尝试再次定义它。您应该在顶部使用
var newVal
进行定义,然后将其与
newVal=parseFloat…