Javascript 获取未捕获的TypeError:undefined不是JSFIDLE中的函数

Javascript 获取未捕获的TypeError:undefined不是JSFIDLE中的函数,javascript,Javascript,我正在尝试学习Javascript,所以这可能是显而易见的,但是下面链接的fiddle失败了,出现了以下错误UncaughtTypeError:undefined不是一个函数 有问题的代码是 var previousNum = 0; var currentNum = 0; var sum = 0; var fibNums = [1, 1]; while (currentNum < 4000000) { previousNum = fibNums[fibNums.Length -

我正在尝试学习Javascript,所以这可能是显而易见的,但是下面链接的fiddle失败了,出现了以下错误UncaughtTypeError:undefined不是一个函数

有问题的代码是

var previousNum = 0;
var currentNum = 0;
var sum = 0;
var fibNums = [1, 1];

while (currentNum < 4000000) {
    previousNum = fibNums[fibNums.Length - 2];
    currentNum = previousNum + fibNums[fibNums.Length - 1];
    fibNums.append(currentNum);
};

for (var x = 0; x < fibNums.Length; x++) {
    currentNum = fibNums[x];
    if (currentNum % 2 === 0) {
        sum += currentNum;
    };
};
console.log(sum.toString);

任何帮助都将不胜感激。谢谢。

数组没有名为.append的函数。你要找的是。 而且,我认为你有打字错误;您是说fibNums.length?,.length不是数组的有效属性


此外,console.logsum.toString不会执行您期望的操作。这将打印出函数本身或至少是它的美化版本。您需要执行console.logsum.toString以实际调用该函数。但即使这样也没有必要。JavaScript会隐式地将数字类型转换为字符串,因此console.logsum应该足够了。

您需要.push not.append-它也是.length not.length可能也需要sum.toString,但console.log通常会根据需要处理转换。这里有很多小错误。您需要密切注意大小写并使用正确的方法名。保持在书签的顶部。是的,对不起,仍然处于Object Pascal模式,它是附加的。我讨厌区分大小写,塔德曼建议使用toString来解决这个问题。谢谢