什么';JavaScript中按值传递和按引用传递之间的区别是什么? 我们考虑一下:

什么';JavaScript中按值传递和按引用传递之间的区别是什么? 我们考虑一下:,javascript,Javascript,var obj={a:'tony'}; someFn(obj) JavaScript中按值传递和按引用传递有什么区别 JavaScript中没有passby引用,只有passby值 既然我们知道“obj”是一个参考 否,obj是一个变量。并且没有可以传递的变量引用。您总是在调用中传递变量的值,如someFn(obj) 但是,变量可能包含一个对象引用作为其值,而这实际上就是此处传递的值。这将允许函数someFn在适当的位置改变对象,但不分配给变量obj没有区别。您两次都通过引用传递。JavaScr

var obj={a:'tony'};
someFn(obj)
JavaScript中按值传递和按引用传递有什么区别

JavaScript中没有passby引用,只有passby值

既然我们知道“obj”是一个参考

否,
obj
是一个变量。并且没有可以传递的变量引用。您总是在调用中传递变量的值,如
someFn(obj)


但是,变量可能包含一个对象引用作为其值,而这实际上就是此处传递的值。这将允许函数
someFn
在适当的位置改变对象,但不分配给变量
obj

没有区别。您两次都通过引用传递。JavaScript使用通过共享调用:区别在于
obj
是在
someFn
的范围之外定义的,因为您传递的不是引用本身,而是表示引用副本的值,所以此评估策略有时称为
pass by sharing
,它是参考值的副本,因此对象是共享的。