JavaScript if / else语句错误计算行长度

时间:2012-02-10 04:23:57

标签: javascript if-statement

我为一个打字机应用程序写的脚本得到了一些奇怪的结果。就像使用打字机一样,在你需要点击RETURN之前,你可以在一行上输入很多字符。我试图确定键入了多少(固定宽度)字母,并根据可变行长度检查该数字(因为,就像使用打字机时一样,您可能无法在最左边的边缘开始输入)。

以下是我的全局变量:

var charLine = "Hello world"; // what has been typed
var paperWidth = 900; // width of "paper" in the typewriter
var strikePosition = 488; // where the type strikes the paper (known value, the center of the typewriter)
var charWidth = 44; // width of each character

这就是我如何确定strikePosition相对于纸张放置在打字机中的位置,然后用它来确定剩余的像素数。

var positionDifference = function (paperPosition){
    return strikePosition - paperPosition;
};
var remainingPixels = function (positionDifference) {
    return paperWidth - positionDifference;  
};

remainingPixels (20);

以上所有内容都非常完美。事情开始变得奇怪了。根据剩余的像素,我计算输入的字符,然后乘以宽度:

var charCount = function (){ 
    return charLine.length * charWidth;
};
charCount();

然后......我检查一下"返回"有必要的。给定当前参数,这应该返回false,但它返回true。

var charCheck = function () {
    if (charCount <= remainingPixels){
        return false;
    }
    else {
        return true;
    }
};

charCheck();

我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

charCount是一个函数。所以你应该在if。

上执行它
var charCheck = function () {
    if (charCount() <= remainingPixels()){
        return false;
    }
    else {
        return true;
    }
};

charCheck();