Javascript 如何在数组对象上应用forEach方法

Javascript 如何在数组对象上应用forEach方法,javascript,foreach,Javascript,Foreach,这是一本叫做eloquent JavaScript的书,但我得到了一个未捕获的引用错误,无法找出问题所在。我是编程新手,有人建议我读这本书 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>js</title> </head> <body> <script>

这是一本叫做eloquent JavaScript的书,但我得到了一个未捕获的引用错误,无法找出问题所在。我是编程新手,有人建议我读这本书

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>js</title>
</head>

<body>

    <script>
        var numbers = [1, 2, 3, 4, 5],
            sum = 0;
        forEach(numbers, function(number) {
            sum += number;
        });
        console.log(sum);
    </script>

</body>

</html>

js
变量数=[1,2,3,4,5],
总和=0;
forEach(数字,函数(数字){
总和+=数字;
});
控制台日志(总和);

forEach
Array
方法而不是全局函数

var numbers = [1, 2, 3, 4, 5],
    sum = 0;

numbers.forEach(function(number) {
  sum += number;
});

console.log(sum);
更新:


在您的情况下,您忘记了copy

forEach不是全局函数,您必须使用Array.forEach方法循环遍历您的数组对象。

您的forEach方法有误。您必须给forEach一个回调函数,您可以给它三个参数来指示元素,ForEach方法是array.prototype对象的一种方法。这意味着它处理数组对象本身。对象继承自其原型

如果我们有一个对象,比如

function Obj(){};
并在该对象的原型中添加了一种方法

Obj.protoype.add=function(){};
如果我们创建了一个新实例,为了得到原型方法的add方法,我们必须调用对象的名称,然后使用点符号来执行这个方法

var newObj=new Obj();
newObj.add();
在您的情况下,要获得数字数组的foreach方法,您必须执行相同的操作。这适用于其他数组方法,如map、every、some等

var数=[1,2,3,4,5];
var总和=0;
forEach(函数(元素、索引、数组){
总和+=元素;
})

文件。填写(金额)
在该章的示例中,它创建了一个名为
forEach()
的函数,但您没有做到这一点。我刚刚复制了代码,它应该工作得很好。您是否遵循了,并直接在上面执行了代码?中间只有一个句子,所以这本书再写一次同样的函数有点傻。