求助
javascript吧
全部回复
仅看楼主
level 2
花生十五 楼主
为什么有下标是获取每一项,直接给每一项赋值却不可以,二层循环可以给每一项直接赋值,三层却不可以,不懂原理
2021年03月08日 03点03分 1
level 12
没看懂你所说的
我就拿你打X那里来说
是给label这变量(重点是这个变量)重新赋值 重新赋值后又不用根本没意义
打勾那里 是给数组下标重新赋值
2021年03月08日 07点03分 2
两个都是数组的每一项,lable是三层循环的每一项,下标也是循环的每一项
2021年03月09日 00点03分
@花生十五 还没没懂 我就知道打X那里是个label这个变量(形参)重新赋值
2021年03月09日 00点03分
level 2
你需要了解一下变量的值传递机制[滑稽]
2021年03月09日 09点03分 3
level 13
你仔细研究一下 item.label[i] 和 label 表示的是谁就知道了。
label 是提供给 forEach 方法的函数的参数。它是函数的参数,item.label[i] 则是指名 item.label 的下标 i。
给 label 赋值是直接对 label 这个变量的存储空间进行覆盖,和 item.label[i] 这个位置没有任何关系。
虽然两者的值是一样的但是它们所代表的存储位置不一样啊,你直接对着函数的形参赋值当然没有效果啦。
通俗来讲的话:
label 这样的变量名就等于是个箱子,对 label 赋值就是把箱子里的东西丢掉,重新塞个东西进去,塞东西进去的时候只会留下这个东西本身,这个东西是从哪来的没人会记得,而读取变量就是瞧一眼箱子里的东西,只能看到这个东西自身。把一个变量的值赋给另一个变量并不是说在这两个箱子间建立通路,只是把原来箱子里的东西复制一个放进新的箱子里(但是有些东西会分身,所以塞进去的会变成分身)。所以当我们写 label 的时候其实是指名为 label 的箱子,而不是它里面的东西。
而 item.label[i] 则是指 item 这个箱子里叫做 label 的位置上的东西的 i 的位置。
可以看到我自始至终都是用和空间有关的词去形容变量和属性,所以要意识到,变量名和属性名指的是“空间”而不是“空间里的东西”,赋值和读取只是对这个空间做什么。
2021年03月11日 17点03分 6
level 2
item.label[i],i表示他的索引编号
Label代表的是这个对象的对象名 对象名存的是地址 所以不能赋值给他
不知道你能看明白不[呵呵]
2021年03月13日 03点03分 7
level 6
你需要再了解一下传值与传址的区别!!!网上搜搜有很多这方面的解答
2021年03月17日 09点03分 10
1