怎样理解函数参数的传递
Posted aisowe
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样理解函数参数的传递相关的知识,希望对你有一定的参考价值。
前言: 基本类型(数值 / 字符串 / 布尔值)和引用类型(对象)作为参数传递给函数时的行为是不一样的.
基本类型传递的是值的地址, 它在函数内部的改变不会影响到原变量.
引用类型传递的是引用的地址, 它在函数内部的改变实际上是对原变量的改变.
第一步: 下面演示基本类型的值做实参时的情况
function change(bol) bol = !bol; console.log(bol) var a = true; change(a); // false console.log(a); // true;
注意: 这里在函数内部改变了形参的值, 但外部的a的值并没有发生改变. 这是基本类型的特征;
第二步: 下面演示引用类型的值做实参时的情况
function addName(obj) obj.name = "Lilei"; console.log(obj.name); // Lilei var person = ; addName(person); // Lilei console.log(person.name); // Lilei
注意: 这里对象作为实参传递给函数时, 实际传递的是引用, 在函数内部操作的obj指向的内存地址实际上就是person指向的内存地址, 因此其改变会影响obj和person;
以上是关于怎样理解函数参数的传递的主要内容,如果未能解决你的问题,请参考以下文章