什么是形参和实参?在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

相关推荐

  • 小编教你软文与新闻稿的区别。

    随着互联网的普及大众对互联网越来越紧密的依赖,如何利用互联网这一媒介有效宣传自己的品牌,展示自己的产品,提升自身价值最终获得超额利润是所有企业都在思考的课题。搜索引擎不断普及应用,全民微博时代如火如…

    2023年6月6日
    09
  • 小编分享香港服务器和香港云主机的区别有哪些。

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

    2024年6月29日
    00
  • 小编教你百度竞价及SEO有哪些区别,企业该如何选择。

    互联网推广的方式有很多,而最多最常见的还是属搜索引擎带来的流量,而搜索引擎带来的流量一般分为两种,一种是竞价推广,另一种是通过网站优化seo方式获得的,那么这两种方式有什么区别呢?一、竞价排名的优缺点竞…

    2023年6月29日
    00
  • 小编教你SEO整站优化和关键词优化的区别。

    多数seo初学者在学习的过程中遇到关键词优化和整站优化的时候会不理解,觉得两者是差不多的。为何整站优化会比关键词优化带给客户的体验度及成交率会更高呢?为了避免在之后的学习中存在误区,下面小编就来说说SEO整…

    2023年6月27日
    01
  • 说说js中array是什么意思。

    JavaScript中的Array是一种内置对象,用于存储和操作一组值。 JavaScript中的Array是一种数据结构,用于存储多个值的集合,它提供了一种方便的方式来管理和操作这些值,在JavaScript中,数组可以包含任何类型的元素…

    2024年7月24日
    00
  • 我来教你 uv和pv的区别淘宝是什么。

    对于淘宝卖家来说,销量和利润是他们的终极目标,不过,此二者可不是平白无故得来的,我们要全面分析店铺,做好运营部署才行。而淘宝uv和pv是最基础的数据,不知道二者有什么区别呢?一、uv和pv的区别淘宝的浏览量是…

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

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

    2023年5月13日
    03
  • 小编分享liter litre区别。

    “Liter”和”Liter”都是度量单位,表示体积。在美式英语中,通常使用”liter“,而在英式英语中,通常使用”litre“。两者的区别在于拼写,但都表示相同的度量单位。 Li…

    2024年6月27日
    00

联系我们

QQ:951076433

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