下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

web前端:逆战班-JS的形参与实参

作者:Sunny向天     来源: https://www.cnblogs.com/hong-hao/archive/2020/03/29/12595604点击数:802发布时间: 2020-04-07 21:48:04

标签: JSJavascript操作系统

Web开发

  形参的作用是实现主调函数与被调函数之间的联系,通常将函数所处理的数据,影响函数功能的因素或者函数处理的结果作为形参。没有形参的函数在形参表的位置应该写intmain(void)函数也可以有形参和返回值,其形参也称为命令行参数,由操作系统在启动程序时初始化,其返回值传递给操作系统。

  函数的参数

  参数是指由外部传入到函数中的变量,仅作为变量使用,但是该变量可以是任何内容,包括函数。被传入的参数作为私有变量使用,可以被覆盖掉。参数排列是严格按照参数的顺序填入的。

  Javascript中函数的参数分为形参和实参。

  形参:是在定义函数时使用的参数,目的是用来接收调用该函数时传进来的实际参数。

  实参:是在调用时传递给函数的参数。

  functionmyfun(a,b){//形参就是a和b

   returna+b;

  }

  console.log(myfun(1,2));//输出5//实参就是1和2

  函数的形参没有限制,可以没有或者多个。形参的数量可以通过函数的length属性获取。

  functionmyfun(a,b,c){

   returna+b+c;

  }

  console.log(myfun.length);//返回3,形参的个数

  一般来说,函数的形参和实参个数是相等的,但在JavaScript中没有规定两者必须相等。

  函数中实参与形参是依次对应的,严格按照填入的顺序,即第1个实参的值传递给第1个形参,第2个实参的值传递给第2个形参,以此类推

  如果实参个数大于形参,那么多出的实参就无法被形参访问,不传递其值而被忽略掉。

  如果形参个数大于实参,那么多出的形参值为undefined。

  varmyfun=function(m,n){//2个形参

  document.write("m="+m);

  document.write("n="+n);

  }

  myfun(1,2);//2个实参,实参等于形参

  document.write("<br/>");

  myfun(1,2,3);//3个实参,实参大于形参

  ocument.write("<br/>");

  myfun(1);//1个实参,实参小于形参

  输出结果为:

  m=1n=2

  m=1n=2

  m=1n=undefined

  函数也能作为参数传递给另一个函数,也可以作为返回值。有利于进行模块化编程。如下所示

  functiona(f,x,y){//定义一个函数a,里面的形参f就是函数

   returnf(x,y); //函数a返回的就是函数f的执行结果

  }

  functionb(x,y){

   returnx+y;

  }

  console.log(a(b,1,2));//输出3,这里的b就是函数b,也就是形参f

  如果出现参数的个数不确定我们可以不定义参数

  如果是单纯的值传递:形参的赋值,不会影响到实参。但是,如果是引用传递,那么变形参的值,相当于改变了引用,会改变实参的值

  拓展:JavaScript定义了arguments对象,用于在函数内部执行,arguments.length是可以快速获取函数的实参个数,使用arguments[n]可以获取实参的值。

  形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只在函数内部有效。函数调用结束返回主调用函数后则不能再使用该形参变量。

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

赞(11)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程