2 分钟 JS 面试 / 值 vs 引用
问题:
解释按值传递和按引用传递。
快速回答:
在 JavaScript 中,所有原始值都按值传递,但所有非原始类型都按引用传递。这意味着您可以更改参数,并且这种更改将被隔离(没有副作用)。
更长的答案:
因此JavaScript 中的原始类型是undefined
、、和其他Boolean
。String
结构类型(非原始)包括Object
和Function
。需要指出的是,数组和其他结构Object
也具有类型。
这意味着当您将某些值传递给函数时,其行为将取决于其类型。
现实生活中的例子:
在现实生活中的应用程序中,更改任何提供的函数参数时都需要格外小心,因为像这样的调试问题可能非常棘手且耗时。
您可以通过以下方式解决此问题:
更新:正如 @lukaszahradnik 在评论中提到的,它实际上是基于“分享”,而不是“引用”。谢谢你澄清这一点!🙏
其他阅读材料:
此外,我会在这里和Twitter上发布更多有趣的东西,让我们成为朋友👋
鏂囩珷鏉ユ簮锛�https://dev.to/hexnickk/js-interview-in-2-minutes-value-vs-reference-5a8k