服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服务器之家 - 编程语言 - JavaScript - js教程 - 什么是形参和实参?在Javascript中怎么用?

什么是形参和实参?在Javascript中怎么用?

2023-05-24 17:43黑马程序员 js教程

函数的参数分为形参和实参。在声明函数时,可以在函数名称后面的小括号中添加一些参数,这些参数被称为形参。当函数调用的时候,同样也需要传递相应的参数,这些参数称为实参。函数的形参是形式上的参数,因为当丽数声

在函数内部的代码中,当某些值不能确定的时候,可以通过函数的参数从外部接收进来一个函数可以通过传人不同的参数来完成不同的操作。

什么是形参和实参?在Javascript中怎么用?

函数的参数分为形参和实参。在声明函数时,可以在函数名称后面的小括号中添加一些参数,这些参数被称为形参。当函数调用的时候,同样也需要传递相应的参数,这些参数称为实参。函数的形参是形式上的参数,因为当丽数声明的时候,这个函数还没有被调用,这些参数具体会传过来什么样的值是不确定的。而实参是实际上的参数,在函数被调用的时候它的值就被确定下来了。

函数形参和实参的具体语法形式如下。

  1. function 函数名(形参1,形参2,...)     //函数声明的小括号里的是形参 
  2.   //函数体代码 
  3. 函数名(实参1,实参2,...);            //函数调用的小括号里的是实参 

一个函数的参数可以有多个,使用逗号分隔即可,也可以没有参数。下面我们通过代码演示函数参数的具体使用。

  1. function cook(arg)  { 
  2.   console.log(arg); 
  3. cook('potato'); 

在上述代码中,arg是函数的形参,它类似于一个变量,当函数调用的时候,它的值就是调用时传入的值,即 potato。

接下来我们再演示如何利用函数求任意两个数之和,具体代码如下。

  1. function getSum(numl,num2) { 
  2.   console.log(numl + num2); 
  3. getSum(1,3);   
  4. //输出结果:4 
  5. getSum(3,8); 
  6.    //输出结果:11 

在上述代码中,第4行代码在调用函数时传入了两个实参,分别是1和3,这两个实参对应了函数中的形参num1和num2,然后在第2行对这两个值进行了相加,因此得到的输出结果为4。同理,第5行代码在调用函数时传入了3和8两个实参,因此结果为11。

多学一招:

函数的形参可以看做是一个变量,当我们把一个值类型变量作为参数传给函数的形参时,其实是把变量在栈空间里的值复制了一份给形参,那么在方法内部对形参做任何修改,都不会影响到的外部变量。

  1. function fn(a) { 
  2.     a++; 
  3.     console.log(a);  
  4. var x = 10; 
  5. fn(x); 
  6. console.log(x); 

当我们把引用类型变量传给形参时,其实是把变量在栈空间里保存的堆地址复制给了形参,形参和实参其实保存的是同一个堆地址,所以操作的是同一个对象。

  1. function Person(name) { 
  2.     this.name = name; 
  3. function f1(x) { // x = p 
  4.     console.log(x.name); // 2. 这个输出什么 ?     
  5.     x.name = "张学友"
  6.     console.log(x.name); // 3. 这个输出什么 ?     
  7. var p = new Person("刘德华"); 
  8. console.log(p.name);    // 1. 这个输出什么 ?    
  9. f1(p); 
  10. console.log(p.name);    // 4. 这个输出什么 ? 

原文地址:https://www.toutiao.com/article/7234448998978241062/

延伸 · 阅读

精彩推荐
  • js教程js实现简单放大镜特效

    js实现简单放大镜特效

    这篇文章主要为大家详细介绍了js实现简单放大镜特效,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    一个21岁的老同志9782022-02-13
  • js教程CocosCreator实现技能冷却效果

    CocosCreator实现技能冷却效果

    这篇文章主要介绍了CocosCreator实现技能冷却效果,同学们可以跟着教程,亲手试一下,代码都是可以复用的...

    property-Cocos8802022-03-02
  • js教程js事件模型与自定义事件实例解析

    js事件模型与自定义事件实例解析

    JavaScript一个最简单的事件模型,需要有事件绑定与触发,还有事件删除。本文将对其具体实现代码进行解析,需要的朋友一起来看下吧...

    caihg5722021-12-15
  • js教程提高JavaScript性能技巧,以获得更快的网站

    提高JavaScript性能技巧,以获得更快的网站

    在开发应用程序时,性能是最重要的问题之一,所有软件开发人员都应该监控和改进应用程序每一层的性能。从数据库到服务器端语言,出现性能问题的时...

    粤嵌教育7792022-01-11
  • js教程javascript实现简单页面倒计时

    javascript实现简单页面倒计时

    这篇文章主要为大家详细介绍了javascript实现简单页面倒计时,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    潜力股wjk12062022-01-25
  • js教程js canvas实现五子棋小游戏

    js canvas实现五子棋小游戏

    这篇文章主要为大家详细介绍了js canvas实现五子棋小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    鱼-猫3962022-01-06
  • js教程详解CocosCreator游戏之鱼群算法

    详解CocosCreator游戏之鱼群算法

    这篇文章主要介绍了详解CocosCreator游戏之鱼群算法,对算法感兴趣的同学,可以仔细参考下...

    immortaler4252022-03-02
  • js教程微信小程序实现无缝滚动

    微信小程序实现无缝滚动

    这篇文章主要为大家详细介绍了微信小程序实现无缝滚动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    Edward_Cullens10912022-02-19