文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

敲键小勇士

敲键小勇士

2024-04-23 23:53

关注

  形参的作用是实现主调函数与被调函数之间的联系,通常将函数所处理的数据,影响函数功能的因素或者函数处理的结果作为形参。没有形参的函数在形参表的位置应该写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]可以获取实参的值。

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

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

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     436人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     201人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     163人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     242人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     68人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-前端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯