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

JavaScript if/else statement error calculating line length

本文关键字:出错 计算 if else 语句 JavaScript      更新时间:2023-09-26

我为打字机应用程序编写的脚本得到了一些奇怪的结果。就像使用打字机一样,在你需要按回车键之前,你只能在一行上键入这么多字符。我试图确定已经键入了多少(固定宽度)字母,并将该数字与可变的行长度进行比较(可变的行长是因为,就像使用打字机一样,你可能不会从最左边开始键入)。

以下是我的全局变量:

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();

然后。。。我检查是否需要"RETURN"。给定当前参数,这应该返回false,但返回true。

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

我是不是错过了什么?

charCount是一个函数。所以你应该在if.上执行它

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