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

时间:2014-07-09 19:54:48

标签: javascript

我正在尝试学习Javascript,所以这可能是非常明显的,但下面链接的小提琴失败并出现以下错误“Uncaught TypeError:undefined is is a function”

http://jsfiddle.net/5SujV/

有问题的代码是

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

非常感谢任何帮助。感谢。

1 个答案:

答案 0 :(得分:4)

数组没有名为.append的函数。你在寻找的是.push。 另外,我认为你有一个错字;你的意思是fibNums.length?.Length不是数组的有效属性。

console.log(sum.toString)也不会达到您的预期。这将打印出函数本身(或者至少是它的美化版本)。您想要console.log(sum.toString())来实际调用该函数。但即使这样也没有必要。 JavaScript会隐式地将数字类型转换为字符串,因此console.log(sum)应该足够了。