javascript使用函数时的“传值”问题
今天学到的新知识:
总结:
-
在向函数传递一个基本类型值时,它会复制到形参。我们把这称为“传值”(按值传递)。
-
在函数体中改变了形参的值,对原来用来传入函数的变量无任何影响。
-
传递数组或对象是例外。
证明过程:
我们先定义一个变量 a, 并赋值为1:
现在可以看到a的值为1:
紧接着,我们定义一个test函数,有一个形参,并且我们在函数体中修改形参的值为2:
也就是说,不论我们传进去任何值,最终都会返回2;那么,这样的操作对被作为参数传入函数的变量有无影响呢?
实验结果:
可以看到,即便a被作为参数传递进test函数,并被改变值,返回了一个2;可是a变量的本体没有任何影响,依旧存储着值1。
这是因为,在传递一个基本类型值进入函数时,它会复制到形参。我们把这成为传值
——————————本文已结束——————————————
纸上得来终觉浅,觉知此事要躬行
技术小白
望各位大佬多多指教