下面是JavaScript函数参数的传递方式的详细讲解:
函数的参数传递方式
在JavaScript中,函数的参数可以通过以下三种方式进行传递:
- 值传递 (call by value)
传递的是一个值的副本,函数内部对传递进来的值进行修改不会影响原来的值。例如:
function foo(num) {
num = 5;
console.log(num); // 5
}
var a = 10;
foo(a);
console.log(a); // 10
这里传递的是变量a的值10的副本num,对num进行修改不会改变a的值。
- 引用传递 (call by reference)
传递的是一个对象的引用,函数内部对传递进来的对象进行修改会影响原来的对象。例如:
function changeObj(obj) {
obj.name = 'Lucy';
}
var person = { name: 'Tom' }
changeObj(person);
console.log(person.name); // 'Lucy'
这里传递的是对象person的引用,对其属性进行修改会影响原对象。
- 传递undefined
如果函数的参数没有传入具体的值,那么其默认值为undefined。例如:
function test(arg) {
console.log(arg);
}
test(); // undefined
示例
下面是两个示例:
- 值传递
var a = 10;
function foo(num) {
num = 5;
console.log(num); // 5
}
foo(a);
console.log(a); // 10
- 引用传递
function changeObj(obj) {
obj.name = 'Lucy';
}
var person = { name: 'Tom' }
changeObj(person);
console.log(person.name); // 'Lucy'
以上就是JavaScript函数参数的传递方式的详细讲解。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript函数参数的传递方式详解 - Python技术站