Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么第一个代码有效而第二个代码无效?_Javascript - Fatal编程技术网

Javascript 为什么第一个代码有效而第二个代码无效?

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;大写字符串被分配给

我想知道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是一个数组元素,因此该元素通过其引用进行更改。

此处item=item.toupercase;粗体表示创建一个正在打印的局部变量,但在后一种情况下,它只是引用,正在打印的函数参数

字符串是不可变的。Item.lowercase不会第二次保存到Item.second code ise不会分配Item。它必须类似于item=item.toUpperCase@尼纳乔兹,这只是其中的一部分。关键是toUpperCase不会就地修改字符串,但即使字符串是可变的,也会如此。请在这两种情况下都执行一个项,该项都是局部变量,但第一个保存了更改,第二个不保存