关键词

JavaScript函数参数的传递方式详解

下面是JavaScript函数参数的传递方式的详细讲解:

函数的参数传递方式

在JavaScript中,函数的参数可以通过以下三种方式进行传递:

  1. 值传递 (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的值。

  1. 引用传递 (call by reference)

传递的是一个对象的引用,函数内部对传递进来的对象进行修改会影响原来的对象。例如:

function changeObj(obj) {
  obj.name = 'Lucy';
}

var person = { name: 'Tom' }
changeObj(person);
console.log(person.name); // 'Lucy'

这里传递的是对象person的引用,对其属性进行修改会影响原对象。

  1. 传递undefined

如果函数的参数没有传入具体的值,那么其默认值为undefined。例如:

function test(arg) {
  console.log(arg);
}

test(); // undefined

示例

下面是两个示例:

  1. 值传递
var a = 10;
function foo(num) {
  num = 5;
  console.log(num); // 5
}
foo(a);
console.log(a); // 10
  1. 引用传递
function changeObj(obj) {
  obj.name = 'Lucy';
}

var person = { name: 'Tom' }
changeObj(person);
console.log(person.name); // 'Lucy'

以上就是JavaScript函数参数的传递方式的详细讲解。

本文链接:http://task.lmcjl.com/news/10924.html

展开阅读全文