javascript为变量添加常量

时间:2013-08-13 20:32:14

标签: javascript variables livecycle

我正在尝试验证用户输入的值是否在等于先前用户输入的数字加/减常数的范围内,但脚本似乎只识别范围的下限,并且上限始终为先前用户输入的数字加上任何小于1的值(也就是用户输入的55,因此55.999999可以工作,但56变为红色)。代码:

if (BUNO.rawValue>=164865){ 
    if (Auto1Right.rawValue>=45 && Auto1Right.rawValue<=75)
    {
        var eleven = 11.00;
        var auto2min=Auto1Right.rawValue-eleven;
        var five = 5.70; 
        var auto2max=Auto1Right.rawValue+five;
        if (this.rawValue>=auto2min&&Man2Right.rawValue<=auto2max)
        {
            Man2Right.fillColor="0,255,0";
        }


    }
    else
    {
        Man2Right.fillColor="255,0,0";
    }

}

3 个答案:

答案 0 :(得分:0)

我想你可能只是有一个小错字。 你在这里有两个相同的标志

var auto2max==Auto1Right.rawValue+five;

应该看起来像这样:

var auto2max = Auto1Right.rawValue + five;

答案 1 :(得分:0)

显然可以通过将“+”符号更改为“ - ”符号并将变量值更改为负数来避免这种情况。

我不知道为什么在不将变量更改为字符串的情况下不会使用“+”进行添加。根据我能找到的所有内容,“+”符号应该同时添加数字和字符串。

答案 2 :(得分:0)

听起来rawValue被解释为字符串,而不是数字。你试过casting your variables吗?

if ( parseFloat(BUNO.rawValue) >= 164865 ){
    var a1r = parseFloat(Auto1Right.rawValue)
    if (a1r>=45 && a1r<=75)
    {
        var eleven = 11.00;
        var auto2min=Auto1Right.rawValue-eleven;
        var five = 5.70; 
        var auto2max = a1r + five;

        var thisRV = parseFloat(this.rawValue) ;
        var m2RV = parseFloat(Man2Right.rawValue) ;
        if (thisRV>=auto2min && m2RV<=auto2max)
        {
            Man2Right.fillColor="0,255,0";
        }


    }
    else
    {
        Man2Right.fillColor="255,0,0";
    }

}