集团官网
  • 华为授权培训中心
  • 腾讯云一级认证培训中心
  • 百度营销大学豫陕深授权运营中心
  • Oracle甲骨文OAEP中心
  • Microsoft Azure微软云合作伙伴
  • Unity公司战略合作伙伴
  • 普华基础软件战略合作伙伴
  • 新开普(股票代码300248)旗下丹诚开普投资
  • 中国互联网百强企业锐之旗旗下锐旗资本投资

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

编辑:云和数据 日期:2022-11-28 15:31

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

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

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

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. 这个输出什么 ?

相关内容

常见的网页ui界面布局有哪些? 在设计网页时,需要根据不同的网站性质和页面内容选择合适的布局形式,下面介绍一些常见的网页布局方式。1. “国”字型布局“国”字型布局是网页上使用最多的一种结构类型,是综合性网站页面中常用的版式。通常上方为引导栏、header, 导航栏,中间为内容区,最底端为版权信息。将内容区分为左、中、右三大... 郑州学习测试开发如何选择培训班? 随着互联网的快速发展,如今对于测试开发岗位的需求量都有明显的增长,现在选择选择学习测试开发的人也变得越来越多,不同的培训学校有着不同的优势。那么郑州学习测试开发如何选择培训班? 线上、线下了解机构口碑线上在网上查看网友对该机构的评价,需注意的是要客观看待,因为网上的往往真假参半;其次... Maven是怎么样构建Spring Boot项目的? 准备好项目运行所需的环境后,就可以使用IDEA开发工具搭建一个Spring Boot入门程序了。我们既可以使用Maven方式构建项目,也可以使用Spring Initializr快捷方式构建项目。这里先介绍如何使用Maven方式构建Spring Boot项目,具体步骤如下。1.初始化IDEA配... 郑州Java开发培训学费大约是多少? 伴随互联网行业的发展,现如今的企业对于Java开发技术人才需求较高,很多零基础的也想要从事相关的Java开发岗位,这时候需要报班系统的学习,费用的问题备受关注,那郑州Java开发培训学费大约是多少? 虽然不同的培训机构费用略有差别,但总的来说,线下培训的费用都在一万五到两万之间,线上... Beta测试和Alpha测试是什么?区别在哪儿? 大型通用软件,在正式发布前,通常需要执行 Alpha 和 Beta 测试,目的是从实际终端用户的使用角度,对软件的功能和性能进行测试,以发现可能只有最终用户才能发现的错误。Alpha 测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试,Alpha ... 相比APP、H5设计有哪些优点和缺点? 随着移动互联网的快速发展,传统的营销模式显然已经不再符合当下时代的需求。当下,越来越多的企业将品牌营销所需费用的大头投入到移动互联网方面。从中,我们也可以看出,移动营销已然大势所趋。那为什么用H5来执行线上的营销方案呢?要了解这一点我么首先来了解一下H5的特点。美观性:页面设计更加的美观,有声...
×