函数之形参和实参

背景

很多开发同学分不清,实参和形参。什么条件下形参的变化会映射给实参,今天我们就着重的讲一讲形参可以映射到实参的哪些场景。

函数

函数是javascript中的头等对象(first-class),因为他可以向像对象一样拥有属性和方法,区别是函数可以被调用。因此函数称之为Function对象。

函数的定义

定义一个函数也叫函数的声明由以下组成:

  • 函数的名称。
  • 函数参数列表也叫做形参,包围在括号中并由逗号分隔。
  • 定义函数的 JavaScript 语句,用大括号{}括起来
function getName(people, age) {
	return {
	  people,
	  age,
	}
}

形参

形参j就是定义函数是在括号中()中定义的变量,作用域为当前函数

实参

调用函数传递的值为实参会有一下两种情况

  • 如果实参是一个原始值的变量,就算在函数内部改变了对应形参的值,该实参变量的值也不会改变。
  • 如果实参是一个对象引用对应形参会和该实参指向同一个对象,非原始类型的变量就是一个指针,而实参和形参指向了同一个指针,因此函数体内改变对应的形参
const p = {
  name: 'mary',
  age: 12,
}
let age = 24;
function getName(people, age) {
    people.name = 'tom',
    people.age = 1;
    age = 20;
}
getName(p, age);
console.log(p, age); // {name: 'tom', age:1} 24;
上一篇:每日一读 - sort包


下一篇:php中reset函数的作用,reset函数怎么用