forEach()与each()方法的区别

forEach() 为JavaScript(ES5)的方法,而 each() 方法是JQuery的方法,forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。

注意: forEach() 对于空数组是不会执行回调函数的。

forEach()的回调函数有两个参数,index,value,index为当前元素的索引值,value为当前元素。

var arr = ["你好","我好","大家好","才是","真的好"];
arr.forEach(function(value,index) {
    // 输出为array数组的每一个元素
    // 注意 value在前
    console.log(value);
});

arr必须是一个真正的数组,当arr为伪数组则会报错:

let btns = document.getElementsByTagName("button")
console.log("btns",btns);//得到一个伪数组
btns.forEach(item=>console.log(item)) Uncaught TypeError: btns.forEach is not a function

each() 方法分两种情况,$().each() 和 $.each()。

$().each()是对页面元素的操作,此时可获取DOM元素直接操作

var resourceInputVal = $("#ResouraceModal form input");
$("#ResouraceModal .btn-default").click(function () {
    // button按钮的点击事件里可以直接修改input输入框的内容
    resourceInputVal.each(function (index, value) {
        // 注意index在前
      value.value = "";
    })
  })

如果要用each方法操作二维数组,可以这样写:

var arr = ["gag","grt","rthr","afds","nttr","fWGW","afgd","cvd","awx"];
$.each(arr,function(index,value) {
    // 此时,each方法可以用于直接操作数组
    // index在前
    console.log(value);
});
`each()` 和 `forEach()` 的主要区别在于它们的使用场景和语法。 `each()` 是 jQuery 对象的方法,用于遍历一个 jQuery 对象中的所有元素,并对每个元素执行一个函数。它的语法如下: ```javascript $.each(array, function(index, value) { // 对每个元素执行的函数 }); ``` 其中,`array` 可以是数组、类数组对象或对象,用于遍历的目标;`function` 是每个元素要执行的函数,可以接受两个参数:`index` 表示当前元素在 `array` 中的索引,从 0 开始计数;`value` 表示当前元素的值。 在 jQuery 中,`each()` 方法也可以用于遍历 jQuery 对象,语法类似: ```javascript $('selector').each(function(index, element) { // 对每个元素执行的函数 }); ``` 其中,`selector` 是要查询的元素,可以是 CSS 选择器、DOM 元素、jQuery 对象等;`function` 是每个元素要执行的函数,可以接受两个参数:`index` 表示当前元素在 jQuery 对象中的索引,从 0 开始计数;`element` 表示当前元素的 DOM 对象。 `forEach()` 是 JavaScript 原生对象 `Array` 的方法,用于遍历一个数组,并对每个元素执行一个函数。它的语法如下: ```javascript array.forEach(function(value, index, array) { // 对每个元素执行的函数 }); ``` 其中,`array` 是要遍历的数组,`function` 是每个元素要执行的函数,可以接受三个参数:`value` 表示当前元素的值;`index` 表示当前元素在数组中的索引,从 0 开始计数;`array` 表示当前数组。 因此,`each()` 更适合用于遍历 jQuery 对象和类数组对象,而 `forEach()` 更适合用于遍历数组。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值