JavaScript中的pass-by-value和pass-by-reference有什么区别?

时间:2017-02-03 02:21:40

标签: javascript

让我们考虑一下:

var obj = {a: 'tony'};
someFn(obj);

和此:

someFn({a: 'tony'});

既然我们知道'obj'是一个引用,“{a:'tony'}”是一个对象文字,这两种传递参数的方式有什么不同吗?

1 个答案:

答案 0 :(得分:0)

  

JavaScript中的pass-by-value和pass-by-reference之间的区别是什么?

JavaScript中没有pass-by-reference,只传递值。

  

因为我们知道'obj'是一个参考...

不,obj是变量。并且没有可以传递的变量的引用。您总是在someFn(obj)之类的调用中传递变量的值。

但是,变量可能保持对象引用作为其值,这确实是在此处传递的值。这将允许函数someFn改变对象,但不会分配给变量obj