让我们考虑一下:
var obj = {a: 'tony'};
someFn(obj);
和此:
someFn({a: 'tony'});
既然我们知道'obj'是一个引用,“{a:'tony'}”是一个对象文字,这两种传递参数的方式有什么不同吗?
答案 0 :(得分:0)
JavaScript中的pass-by-value和pass-by-reference之间的区别是什么?
JavaScript中没有pass-by-reference,只传递值。
因为我们知道'obj'是一个参考...
不,obj
是变量。并且没有可以传递的变量的引用。您总是在someFn(obj)
之类的调用中传递变量的值。
但是,变量可能保持对象引用作为其值,这确实是在此处传递的值。这将允许函数someFn
改变对象,但不会分配给变量obj
。