JavaScript 函数参数与实参:传递原始类型和非原始类型变量的区别是什么?

javascript 函数参数与实参:传递原始类型和非原始类型变量的区别是什么?

函数参数和实参的关系

当我们传递变量值给函数时,会遇到关于函数参数和实参之间关系的问题。在 javascript 中,函数实参与形参的关系取决于所传递变量的类型。

传递原始类型变量

在传递原始类型变量(如字符串、数字、布尔值)时,形参得到的是实参值的副本。这意味着对形参的任何修改都不会影响实参。例如:

立即学习“Java免费学习笔记(深入)”;

function changenum(num) {  num = 10;  console.log("num:", num); // 输出: 10}const x = 5;changenum(x);console.log("x:", x); // 输出: 5

登录后复制

传递非原始类型变量

当传递非原始类型变量(如数组、对象)时,形参得到的不是值的副本,而是对原对象的引用。这意味着对形参的任何修改都会影响实参。例如:

function changeArray(array) {  array[0] = 10;  console.log("array:", array); // 输出: [10, 2, 3]}const a = [1, 2, 3];changeArray(a);console.log("a:", a); // 输出: [10, 2, 3]

登录后复制

在上面的示例中,当我们调用 changearray 函数时,变量 a 的值被传递给 array 参数。array 参数得到的不是 a 值的副本,而是对 a 数组的引用。因此,对 array 的修改也影响了 a 数组。

因此,了解函数参数和实参之间的关系对于正确地处理变量至关重要。在传递原始类型变量时,不需要担心对实参的影响,但是在传递非原始类型变量时,应该意识到对形参的修改也会修改实参。

以上就是JavaScript 函数参数与实参:传递原始类型和非原始类型变量的区别是什么?的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2662336.html

(0)
上一篇 2025年3月7日 11:11:52
下一篇 2025年2月25日 15:58:48

AD推荐 黄金广告位招租... 更多推荐

相关推荐

发表回复

登录后才能评论