以下这个问题遇到了之后。问了太阳神,以下是太阳神的解答:

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

首先forEach使用方法非常easy降低代码量,
可是也有非常多地方不能使用的

比方说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由于使用匿名函数调用,有效的避免了闭包

最新文章

  1. ssh免密码登陆及其原理
  2. 【leetcode】4Sum(middle)
  3. 周末充电之WPF(一).初试牛刀
  4. tomcat work 目录
  5. 最好用的手机编程软件-C4droid
  6. iTerm2 + oh my zsh代替mac自带的bash shell
  7. Java之JSON数据
  8. Android中三种计时器Timer、CountDownTimer、handler.postDelayed的使用
  9. [转载]ISO 8601规则
  10. bzoj4555(多项式求逆解法)
  11. java---->Itellij idea报错:错误: 找不到或无法加载主类 main
  12. AutoMatic merge failed;fix conflicts and then commit the result.解决方法
  13. 用户 'IIS APPPOOL\DefaultAppPool' 登录失败【收藏】
  14. 如何使用SetTimer
  15. Python学习笔记009—函数
  16. VS2005常用快捷键
  17. Week2-作业一——《构建之法》三章精读之想
  18. swift网络数据请求方法
  19. HBase集群的搭建
  20. RTT下spi flash+elm fat文件系统移植小记

热门文章

  1. Gym - 100685F Flood BFS
  2. WebAssembly学习(四):AssemblyScript - 结构体系与内置函数
  3. CSS3新的UI方案
  4. jQuery获取区间随机数
  5. WPF和WinForm的区别, 数据驱动与事件驱动的优势对比
  6. nyoj 214 单调递增子序列(二) 【另类dp】
  7. 绕过open_basedir读文件脚本
  8. FormData是什么
  9. 分享一下10个常用jquery片段
  10. SpringMVC-@RequestMapping的参数和用法