在JS函数参数中输入变量名修改变量值,可以通过传递引用类型的参数来实现。在JS中,基本类型的数据(如数字、字符串、布尔值等)是按值传递的,而引用类型的数据(如对象、数组等)是按引用传递的。
当我们将一个引用类型的变量作为参数传递给函数时,实际上是将该变量的引用(内存地址)传递给了函数。因此,在函数内部修改该引用所指向的对象的属性或元素时,会影响到原始变量。
下面是一个示例代码:
function modifyValue(obj) {
obj.value = "modified";
}
var obj = { value: "original" };
console.log(obj.value); // 输出 "original"
modifyValue(obj);
console.log(obj.value); // 输出 "modified"
在上述代码中,我们定义了一个函数modifyValue
,它接受一个参数obj
。在函数内部,我们修改了obj
对象的value
属性的值为"modified"。然后,我们创建了一个对象obj
,并将其作为参数传递给modifyValue
函数。最后,我们打印了obj.value
的值,可以看到它已经被修改为"modified"。
需要注意的是,如果在函数内部重新给参数赋予一个新的引用(如将参数重新赋值为另一个对象),那么原始变量不会受到影响。只有在修改参数所引用的对象的属性或元素时,才会影响到原始变量。
这种方式可以用于修改任何引用类型的变量,包括对象、数组等。但对于基本类型的变量,无法直接在函数内部修改其值,因为基本类型的数据是按值传递的。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云