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

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

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

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

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

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

function cook(arg)  {  console.log(arg);}cook('potato');

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

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

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

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

多学一招:

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

function fn(a) {    a++;    console.log(a); }var x = 10;fn(x);console.log(x);

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

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

本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处https://www.cwhello.com/285644.html

如有侵犯您的合法权益请发邮件951076433@qq.com联系删除

(0)
黑马程序员黑马程序员订阅用户
上一篇 2023年6月24日 07:26
下一篇 2023年6月24日 08:30

相关推荐

  • 你知道seo和广告优化的区别是什么吗?

    在网站运营的过程中,很多朋友会产生这样的疑问:seo和广告优化的区别是什么?seo和广告优化的优势分别是什么,接下来就让我们一起看看下面的这一篇文章,在这篇文章中我们可以找到答案。 1、seo和广告优化的区别 广…

    2022年5月22日
    0496
  • 小编教你html中如何引入js。

    在HTML中引入JavaScript的方法主要有以下几种: (图片来源网络,侵删) 1、内联引入:将JavaScript代码直接写在HTML文件的<script>标签中,这种方法适用于较小的JavaScript代码片段,可以直接嵌入到HTML文件…

    2024年6月26日
    03
  • 小编教你js闭包内存泄露如何解决。

    JavaScript闭包内存泄露的解决方法有很多,以下是一些常见的方法:,,- 避免变量的循环赋值和引用。,- 使用WeakMap或者Map来存储对象,避免循环引用。,- 使用事件代理来解决事件冒泡的问题。,- 使用节流或者防…

    2024年7月5日
    04
  • 小编分享香港服务器和香港云主机的区别有哪些。

    香港服务器通常指物理硬件设备,托管于香港数据中心;而香港云主机是基于虚拟化技术,提供弹性、可伸缩的计算资源,通常由服务商管理,按需付费。 香港服务器和香港云主机的区别主要体现在以下几个方面: 1. 定义 …

    2024年6月29日
    03
  • 快分销和快手小店的区别在哪。

    1. 开通条件的不同。2.运营模式的不同。快手小店对于开通要求并没有一定的限制,但开通了小店的商家不一定能开通快分销,因为快分销是有一定限制和条件的,因此不是所有的商家都能够开通快分销。做好快分销也是非常…

    2023年10月21日
    09
  • 同步任务和异步任务

    JavaScript 是一门单线程执行的编程语言。也就是说,同一时间只能做一件事情。如果前一个任务非常耗时,则后续的任务就不得不一直等待,从而导致程序假死的问题。所以为了防止某个耗时任务导致程序假死的问题,Java…

    2023年5月13日
    06
  • 分享js生成随机数的方法有哪些例子。

    JavaScript中生成随机数的方法有很多,其中最常用的是Math.random()方法。该方法返回一个介于0和1之间的伪随机数(包括0,不包括1)。如果要生成指定范围内的随机数,可以使用以下公式:Math.floor(Math.random()*max)…

    2024年7月8日
    00
  • 小编分享大型网站和企业站SEO优化的区别。

    企业站,一般都是靠首页来量,也就是说靠首页Title布局的一些关键词的排名来的流量。所以,我们做seo优化工作,就是把自己能获取到的资源,都放在首页放在这几个关键词上即可,通常也就是外链,内链,整站内容相关…

    2023年6月20日
    02

联系我们

QQ:951076433

在线咨询:点击这里给我发消息邮件:951076433@qq.com工作时间:周一至周五,9:30-18:30,节假日休息