资讯专栏INFORMATION COLUMN

[1,2,3].forEach(alert);这种写法有什么利和弊吗?

megatron / 558人阅读

摘要:首先用法很简单减少代码量,但是也有很多地方不能使用的比如说是只读的像这样是无法修改的值的所以必须这样如果数组内是对象就不一样了归根结底还是传值传址的问题因为使用匿名函数调用,有效的避免了闭包

首先forEach用法很简单减少代码量,
但是也有很多地方不能使用的

比如说forEach是只读的,
var test=[1,2,3];
test.forEach(function(d,i){if(i==1){d=999;}});

像这样是无法修改test[1]的值的

var test=[1,2,3];
test.forEach(function(d,i){if(i==1){test[i]=999;}});

所以必须这样

var x=[{a:1},{a:2},{a:3}];
x.forEach(function(d,i){if(i==1){d.a=999}})
如果数组内是对象就不一样了

归根结底还是传值传址的问题....

forEach因为使用匿名函数调用,有效的避免了闭包

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/79171.html

相关文章

  • es6常用的使用

    摘要:使用定义常量应该注意,的作用域与命令相同只在声明所在的块级作用域内有效。,命令声明的常量也是不提升,同样存在暂时性死区,只能在声明的位置后面使用。使用的时候,也是直接对类使用命令,跟构造函数的用法完全一致。执行父级的构造函数。 一,let块级作用域 由于js的历史原因。javascript里的es6规范之前,只要函数作用域。当写一些大型的项目代码中,很容易产生全局变量,例如: ...

    wuyangnju 评论0 收藏0
  • 《jacascript高级程序设计》笔记:数组方法高级

    摘要:位置方法为数组实例添加了两个位置方法和。参数要查找的项和可选的表示查找起点位置的索引。函数接受个参数之前值当前值索引值以及数组本身。 这一章节主要记录的是ES5的方法,在低版本浏览器上存在一定的兼容,但是主流手机上使用大可放心。 位置方法 ECMAScript 5 为数组实例添加了两个位置方法:indexOf()和 lastIndexOf()。 1.参数: 要查找的项和(可选的)表示查...

    yanbingyun1990 评论0 收藏0
  • 前端面试之路二(javaScript基础整理)

    摘要:在标签中添加属性,本质上是跟在标签里面写属性时一样的,所以属性值最终都会编译为字符串类型。这个节点包括很多,比如,以及一些方法等方法。一个对象有很多,该集合名字为,里面有其他以及,里面有很多。 一、变量类型和计算 JS中使用typeof能得到哪些类型 变量类型 值类型:变量本身就是含有赋予给它的数值的,它的变量本身及保存的数据都存储在栈的内存块当中 引用类型:引用类型当然是分配到...

    AbnerMing 评论0 收藏0
  • 使用 PHP 来做 Vue.js 的 SSR 服务端渲染

    摘要:对于客户端应用来说,服务端渲染是一个热门话题。在服务器预渲染初始应用状态。重构这段脚本,使其可以在服务端运行。如果这些原因和你的情况吻合,那么使用进行服务端渲染将会是个不错方案。我已经发布两个库来支持的服务端渲染和专为应用打造的。 showImg(https://segmentfault.com/img/remote/1460000014155032);对于客户端应用来说,服务端渲染是...

    李增田 评论0 收藏0
  • ES6常用知识学习札记

    摘要:在年正式发布了,简称,又称为。再次简写循环迭代数组每个元素都执行一次回调函数。方法用于调用数组的每个元素,并将元素传递给回调函数。注意对于空数组是不会执行回调函数的。 转载请注明出处 原文连接 http://blog.huanghanlian.com/article/5c7aa6c7bf3acc0864870f9d es6 是什么 首先弄明白ECMA和js的关系。ECMA是标准,Jav...

    googollee 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<