您当前的位置:首页 > 电脑百科 > 程序开发 > 语言 > javascript

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

时间:2023-05-18 16:23:08  来源:今日头条  作者:黑马程序员



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

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

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

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);  
//输出结果:4
getSum(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. 这个输出什么 ?


Tags:Javascript   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除。
▌相关推荐
JavaScript 是现代 Web 开发不可或缺的一部分,但它有一些需要注意的陷阱。在本文中,我们将介绍10种常见的 JavaScript 编写方式,以帮助您避免一些常见的错误和陷阱。1.隐式类型...【详细内容】
2023-05-23  Tags: Javascript  点击:(3)  评论:(0)  加入收藏
当一个变量有一个来自有限的预定义常量的值时,使用枚举是很方便的。枚举使你不必使用魔法数字和字符串(这被认为是一种反模式)。字符串和数字具有无数个值,而其他类型如布尔值...【详细内容】
2023-05-22  Tags: Javascript  点击:(4)  评论:(0)  加入收藏
前言检查用户是否在线已逐渐成为应用的基础功能,因为大多数网站的用户界面都在不断地与网络服务器通信以进行数据传输,如果用户网络断开,那么应用程序的功能就会受到影响。因此...【详细内容】
2023-05-22  Tags: Javascript  点击:(3)  评论:(0)  加入收藏
JavaScript 運行在客戶端,多數 Browser 亦有很強的 debugger,有時為了保護程式碼的邏輯不被破解或想要藏惡意程式之類的,會想辦法讓分析者沒辦法輕易分析原始碼。通常又可以分...【详细内容】
2023-05-20  Tags: Javascript  点击:(2)  评论:(0)  加入收藏
在函数内部的代码中,当某些值不能确定的时候,可以通过函数的参数从外部接收进来一个函数可以通过传人不同的参数来完成不同的操作。函数的参数分为形参和实参。在声明函数时...【详细内容】
2023-05-18  Tags: Javascript  点击:(0)  评论:(0)  加入收藏
前言熟悉我的朋友可能会知道,我一向是不写热点的。为什么不写呢?是因为我不关注热点吗?其实也不是。有些事件我还是很关注的,也确实有不少想法和观点。但我一直奉行一个原则,就是...【详细内容】
2023-05-18  Tags: Javascript  点击:(11)  评论:(0)  加入收藏
作为前端开发领域的初学者,您应该知道 Javascript 是创建超酷动态网站的关键。这门脚本语言可以让您向页面添加各种很酷的功能,但是有这么多功能,很容易迷失在其中。别担心, 在...【详细内容】
2023-05-12  Tags: Javascript  点击:(28)  评论:(0)  加入收藏
最近有一位00后的小妹妹粉丝私信小编说自己很喜欢编程,目前在某公司实习前端开发工作,说到现在为止还没有搞懂JavaScript中深拷贝和浅拷贝这个问题,同时也在网上看了很多关于深...【详细内容】
2023-05-12  Tags: Javascript  点击:(22)  评论:(0)  加入收藏
对于网络平台而言,WebAssembly 的出现无疑是意义重大的,它能让各种语言编写的代码以接近原生的速度在 Web 中运行——那么在各种语言中,Java 会是其中最流行的吗?原文...【详细内容】
2023-05-09  Tags: Javascript  点击:(16)  评论:(0)  加入收藏
作者 | Josh Mo译者 | 核子可乐策划 | 李冬梅如果大家已经拥有一定的 Rust Web 开发经验,应该听说过在前端 Web 开发上用 Rust(通过 WASM)还是用 Java 这个充满争议性的话题。...【详细内容】
2023-05-09  Tags: Javascript  点击:(24)  评论:(0)  加入收藏
▌简易百科推荐
JavaScript 是现代 Web 开发不可或缺的一部分,但它有一些需要注意的陷阱。在本文中,我们将介绍10种常见的 JavaScript 编写方式,以帮助您避免一些常见的错误和陷阱。1.隐式类型...【详细内容】
2023-05-23  web前端开发  微信公众号  Tags:JavaScript   点击:(3)  评论:(0)  加入收藏
当一个变量有一个来自有限的预定义常量的值时,使用枚举是很方便的。枚举使你不必使用魔法数字和字符串(这被认为是一种反模式)。字符串和数字具有无数个值,而其他类型如布尔值...【详细内容】
2023-05-22   前端F2E    Tags:JavaScript   点击:(4)  评论:(0)  加入收藏
前言检查用户是否在线已逐渐成为应用的基础功能,因为大多数网站的用户界面都在不断地与网络服务器通信以进行数据传输,如果用户网络断开,那么应用程序的功能就会受到影响。因此...【详细内容】
2023-05-22  高级前端进阶  今日头条  Tags:JavaScript   点击:(3)  评论:(0)  加入收藏
JavaScript 運行在客戶端,多數 Browser 亦有很強的 debugger,有時為了保護程式碼的邏輯不被破解或想要藏惡意程式之類的,會想辦法讓分析者沒辦法輕易分析原始碼。通常又可以分...【详细内容】
2023-05-20  闪念基因  今日头条  Tags:JavaScript   点击:(2)  评论:(0)  加入收藏
在函数内部的代码中,当某些值不能确定的时候,可以通过函数的参数从外部接收进来一个函数可以通过传人不同的参数来完成不同的操作。函数的参数分为形参和实参。在声明函数时...【详细内容】
2023-05-18  黑马程序员  今日头条  Tags:Javascript   点击:(0)  评论:(0)  加入收藏
前言熟悉我的朋友可能会知道,我一向是不写热点的。为什么不写呢?是因为我不关注热点吗?其实也不是。有些事件我还是很关注的,也确实有不少想法和观点。但我一直奉行一个原则,就是...【详细内容】
2023-05-18    趣谈前端  Tags:Javascript   点击:(11)  评论:(0)  加入收藏
作为前端开发领域的初学者,您应该知道 Javascript 是创建超酷动态网站的关键。这门脚本语言可以让您向页面添加各种很酷的功能,但是有这么多功能,很容易迷失在其中。别担心, 在...【详细内容】
2023-05-12    web前端开发  Tags: Javascript   点击:(28)  评论:(0)  加入收藏
最近有一位00后的小妹妹粉丝私信小编说自己很喜欢编程,目前在某公司实习前端开发工作,说到现在为止还没有搞懂JavaScript中深拷贝和浅拷贝这个问题,同时也在网上看了很多关于深...【详细内容】
2023-05-12  Echa攻城狮  今日头条  Tags:JavaScript   点击:(22)  评论:(0)  加入收藏
TypeScript是一种静态类型检查的编程语言,它内置了许多基本数据类型,如字符串、数字和布尔型等。除了基本数据类型,当某种类型对于大多数代码来说都非常有用时,它们就会被添加...【详细内容】
2023-05-12    大转转FE  Tags:TypeScript   点击:(19)  评论:(0)  加入收藏
1 JavaScript 简介JavaScript 压缩、混淆和加密技术对于网页来说,其逻辑是依赖于JavaScript来实现的,JavaScript 有如下特点: JavaScript 代码运行于客户端,也就是它必须要在用...【详细内容】
2023-05-07  程序员梓羽同学  今日头条  Tags:JavaScript   点击:(14)  评论:(0)  加入收藏
站内最新
站内热门
站内头条