JavaScript 处理参数按值传递
javascript handling parameters pass by value
完全新手的问题。所以我有一个数组,我把它传递给一个函数。如果函数无论如何都更改了数组,则在函数返回后,数组实际上已更改。
当我对整数参数执行相同的操作时,调用前后的参数值是相同的。
下面是一个示例。
function test2(inputValue) {
inputValue += 5;
}
function test1() {
var input = 1;
input = test2(input);
console.log('input: ' + input);
}
test1();
输入 : 1因此,参数的值保持不变。
不知道如何解释。
思潮?
调用函数时,如果参数是基元类型,则会创建参数的副本。所以你改变的是副本。如果参数是一个数组(或其他对象),它会复制引用,当你进行更改时,它会通过转到地址(引用)来更改数组。因此,数组中的值会发生变化。
在inputValue += 5;
后添加一个 return inputValue;
语句,以便函数返回值。
通过返回一个值,该函数将等效于其输入加 5,在本例中为 6,并将传回该数字。
相关文章:
- 函数未将值作为参数传递
- 使用PHP和Javascript在函数内部传递alphaneumeric值作为参数时出错
- javascript将函数中一个变量的参数值传递给父函数中的另一个
- 传递属性,而不是值作为参数
- 在函数中按值传递对象
- 变量/对象是否按值传递,为什么我不能在 javascript 中使用变量更改对象的属性
- Javascript :按值传递字符串
- setTimeout 按值传递数组(在咖啡中)
- JavaScript 处理参数按值传递
- 为什么这个数组是通过引用而不是按值传递的,我该如何改变它
- 我如何操纵日期拾取器值传递参数到url
- Javascript函数的所有参数都只按值传递
- Javascript数组按值传递不起作用
- jQuery事件绑定按值传递
- Web Workers——如果对象是按值传递的,内存使用量会翻倍吗?
- 是JavaScript按引用传递或按值传递
- React:如果值是按值传递的,那么为什么有必要拥有不可变的道具呢
- 变量赋值 - Javascript: array1[0] = array2[0];这是按值传递还是按引用传递
- 我想按值传递数组,但似乎它是通过引用传递的,数组上的 .map 操作没有给出预期的结果
- 按值传递JavaScript数组