fe-interview icon indicating copy to clipboard operation
fe-interview copied to clipboard

[js] 第177天 说下你对函数的形参与实参的理解

Open haizhilin2013 opened this issue 6 years ago • 6 comments

第177天 说下你对函数的形参与实参的理解

haizhilin2013 avatar Oct 09 '19 20:10 haizhilin2013

形参声明函数时,设置的参数。 实参函数调用时,代入的参数。

NicholasBaiYa avatar Oct 10 '19 00:10 NicholasBaiYa

function add(a,b){
  return a+b
}
add(1,2)

在以上代码中a,b就是形参,1和2就是实参

wwqin avatar Oct 10 '19 06:10 wwqin

我理解实参就是一个个变量,形参就是接这些变量的容器。

wwyx778 avatar Oct 10 '19 11:10 wwyx778

形参:定义函数中用到的参数 实参:调用函数传入的参数

vkboo avatar Oct 10 '19 15:10 vkboo

形参(形式参数) 在函数定义中出现的参数可以看做是一个占位符,它没有数据,只能等到函数被调用时接收传递进来的数据,所以称为形式参数,简称形参。 实参(实际参数) 函数被调用时给出的参数包含了实实在在的数据,会被函数内部的代码使用,所以称为实际参数,简称实参。 形参和实参的功能是传递数据,发生函数调用时,实参的值会传递给形参。

形参和实参的区别和联系

  1. 形参变量只有在函数被调用时才会分配内存,调用结束后,立刻释放内存,所以形参变量只有在函数内部有效,不能在函数外部使用。

  2. 实参可以是常量、变量、表达式、函数等,无论实参是何种类型的数据,在进行函数调用时,它们都必须有确定的值,以便把这些值传送给形参,所以应该提前用赋值、输入等办法使实参获得确定值。

  3. 函数调用中发生的数据传递是单向的,只能把实参的值传递给形参,而不能把形参的值反向地传递给实参;换句话说,一旦完成数据的传递,实参和形参就再也没有瓜葛了,所以,在函数调用过程中,形参的值发生改变并不会影响实参。


function add(a,b){
  return a+b
}
add(1,2)
// 在以上代码中a,b就是形参,1和2就是实参

qhdxwdm avatar Oct 11 '19 10:10 qhdxwdm

形参(parameter):全称为"形式参数" ,由于它不是实际存在变量,所以又称虚拟变量。 实参(argument):全称为"实际参数",是在调用时传递给函数的参数。 实参可以是常量、变量、表达式、函数等, 无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值, 以便把这些值传送给形参。

function fn(a, b){} fn(1,2) a,b是形参,1,2是实参。

xiaoqiangz avatar Aug 05 '22 06:08 xiaoqiangz