我正在尝试通过引用传递基本变量。
var foo = 2;
function inc (arg) {
arg++
}
inc(foo) //won't increment foo
上述代码在 JavaScript 中不起作用,因为基本数据类型(如数字)是按值传递的,而对象则是按引用传递的。为了将基本数据类型按引用传递,我们需要将它们声明为对象:
var foo = new Number(2)
function inc (arg) {
arg++
}
inc(foo) //increments foo
这似乎是一种不太正规的解决方法,可能会影响执行速度。在其他面向对象编程语言中,我们可以将“指针”或“引用”传递给函数。在JS中有类似的东西吗?谢谢!