js函数的形参与实参详解

js函数的形参与实参详解

参数:其实就是函数名后面括号中的内容是一种变量,这个变量叫做参数,

参数是指外部传入函数中的变量,但是只能作为变量使用,但是该变量可以是任何内容,也可以是函数,可以被覆盖,这样传入的参数,可以节省全局变量的定义,还有独特性.
参数起名规则和变量名类似,但是有时候可以使用下划线来起头,这种的叫临时变量;如果有多个参数,用逗号隔开。
参数又分为形参和实参。

形参:写在函数声明的括号内。

在这里插入图片描述
用来接收实参的变量,n,m则为形参,范围仅在当前函数语句块中,在函数外不要调用该函数的参数。

实参:写在调用函数的括号内。

在这里插入图片描述
指定参数的值叫做实参,
abc() 不填入参数也可以执行,但是相当于给形参定义一个undefined的值,
abc(10) 只填一个值,就表示第一个赋值10,第二个仍是undefined。
abc(9,6) 则按顺序赋值。
abc(7,8,9,) 多传入的9没有参数接收,所以不被调用
abc(undefined,10) 不给m传值,给n赋值10。

一定要记住,执行函数是,需要带入指定参数的值,形参有几个,执行函数时,实参就需要填几个。(如果实参的个数不确定,我们可以不定义参数)
传参时传入栈中的数据

js函数的形参与实参详解_第1张图片

栈中的数据,赋值时是一个数值、字符、布尔,改变时不会引起引用改变。

传参时传入对象
js函数的形参与实参详解_第2张图片
传参传入的是对象,变量是对象,变量的值就是这个对象的引用地址,
当传参时将引用地址赋值给o,因此和obj的引用地址相同,是同一个对象,
所以修改了o.a的值,obj.a也被修改了。

你可能感兴趣的:(js,javascript)