前端开发是html+css,交互js传参用什么

如题所述

第1个回答  2022-12-10
JS语法中的传递参数,对于初学者是一个非常重要的概念。很多小伙伴在学习“值传递”和“引用传递”时,会有不少烦恼。今天我们就来通过各种姿势全方位剖析JS中的值传递。

本文章将会用10分钟时间无死角的解析JS的传参方式,希望能对您有所帮助。

先说结论,JS只有值传递,没有引用传递。这句话可能会颠覆一些小伙伴的认知,但请先别急,马上你将会赞同我。

值传递是什么?
在函数传参的过程中,实参将数值传递给形参。
EXP:
function fun(x) {
console.log(x);
}
let a = 123;
fun(a);
1
2
3
4
5
6
1
2
3
4
5
6
运行结果;

在fun(a)这个函数调用语句中,实参为a、形参为x,从输出结果来看,可以证明实参a将数值123传给了形参x。

疑问:是否可以通过形参x数值的修改,来改变实参a的值?

EXP:
function fun(x) {
x = 666;
}
let a = 123;
fun(a);
console.log(a);
1
2
3
4
5
6
7
1
2
3
4
5
6
7
运行结果:

可以看到实参a的数值并没有因为x的改变而发生变化。是因为值传递的特点决定,咱们接着往下看。
2、值传递的特点:
单向传递,只能将实参的数值传递给形参,不能将形参的值传递给实参。
EXP:
我们希望编写一个交换两个变量数值的函数swap。