js forEach

clipboard.png

clipboard.png

只有第10行不同,输出结果也不一样
stu[index]不就是value么?为什么结果会不同?
value+=5为什么不改变原数组的结果?
菜鸟求指教。。。

阅读 4.6k
6 个回答

js 是值传递

valuestu[index] 值相等,地址不相等

value只是function内部的一个参数。改变它不会改变作用域外部的stu

stu[index]+=5; 是对索引为index的数组项的操作;

function(value,index){
    value+=5;
}

value的作用域只是在这个function中,value的值等于当前的数组元素的值,而不是对该值得引用。

我拿了你的光盘去copy,然后我弄坏了copy出来的光盘,问:原光盘现在的状态

value的作用域只在function内,改变value并不会改变外部的arr

前面的都有道理

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题