Javascript 为什么第一个代码有效而第二个代码无效?
我想知道JavaScript是如何处理代码的,浏览器中会发生什么 代码1工作代码 让数组=['Item 1'、'Item 2'、'Item 3']; array.forEachfunctionitem{ 如果项目=='项目2'{ item=item.toUpperCase; }否则{ item=item.toLowerCase; } console.logitem; }; 项目1.1.1案例;返回大写字符串,这就是执行此操作的原因Javascript 为什么第一个代码有效而第二个代码无效?,javascript,Javascript,我想知道JavaScript是如何处理代码的,浏览器中会发生什么 代码1工作代码 让数组=['Item 1'、'Item 2'、'Item 3']; array.forEachfunctionitem{ 如果项目=='项目2'{ item=item.toUpperCase; }否则{ item=item.toLowerCase; } console.logitem; }; 项目1.1.1案例;返回大写字符串,这就是执行此操作的原因 item=item.toUpperCase;大写字符串被分配给
item=item.toUpperCase;大写字符串被分配给item,由于item是一个数组元素,因此该元素通过其引用进行更改。此处item=item.toupercase;粗体表示创建一个正在打印的局部变量,但在后一种情况下,它只是引用,正在打印的函数参数字符串是不可变的。Item.lowercase不会第二次保存到Item.second code ise不会分配Item。它必须类似于item=item.toUpperCase@尼纳乔兹,这只是其中的一部分。关键是toUpperCase不会就地修改字符串,但即使字符串是可变的,也会如此。请在这两种情况下都执行一个项,该项都是局部变量,但第一个保存了更改,第二个不保存