首页 > 其他分享 >说下你对函数的形参与实参的理解

说下你对函数的形参与实参的理解

时间:2024-11-27 09:11:57浏览次数:5  
标签:函数 形参 30 Alice 理解 实参 name

在前端开发中,函数的参数是函数的重要组成部分,它允许我们向函数传递数据,并在函数内部使用这些数据进行操作。函数参数分为形参和实参,它们之间有着重要的区别:

形参 (Formal Parameters):

  • 形参是函数定义时在函数名后面的括号中声明的变量名。
  • 它们就像函数内部的占位符,用于接收将来调用函数时传递的实际值。
  • 在函数定义中,形参只是一个名称,没有实际的值。
  • 可以理解为函数的“输入接口”。

实参 (Actual Parameters / Arguments):

  • 实参是函数调用时实际传递给函数的值。
  • 它们是赋给形参的具体数据。
  • 实参可以是各种数据类型,例如数字、字符串、布尔值、数组、对象等。
  • 可以理解为传递给函数的“实际数据”。

举例说明:

function greet(name, age) { // name 和 age 是形参
  console.log("Hello, " + name + "! You are " + age + " years old.");
}

greet("Alice", 30); // "Alice" 和 30 是实参

在这个例子中:

  • nameage 是函数 greet 的形参。在函数定义时,它们只是占位符,没有实际值。
  • 当我们调用 greet("Alice", 30) 时,"Alice" 和 30 就是实参。它们分别被传递给形参 nameage。函数内部的代码会使用这些实参进行操作,最终输出 "Hello, Alice! You are 30 years old."。

关键区别总结:

特性 形参 实参
定义 函数定义时声明 函数调用时传递
作用 占位符,接收值 实际传递给函数的值
在函数定义时没有值 具体的数值、字符串、对象等
位置 函数名后的括号内 函数调用时的括号内

在 JavaScript 中的一些补充说明:

  • 参数默认值: ES6 引入了参数默认值,可以在函数定义时为形参指定默认值。如果调用函数时没有提供对应的实参,则使用默认值。例如:function greet(name = "Guest") { ... }
  • 剩余参数: 使用 ... 可以将多个实参收集到一个数组中。例如:function sum(...numbers) { ... }
  • arguments 对象: 在函数内部,arguments 对象是一个类数组对象,包含了所有传递给函数的实参,即使没有在形参中声明。 (不推荐使用,剩余参数是更好的选择)

理解形参和实参的区别对于编写正确的函数至关重要。 通过正确地使用形参和实参,我们可以创建灵活和可复用的函数,从而提高代码的可 maintainability。

标签:函数,形参,30,Alice,理解,实参,name
From: https://www.cnblogs.com/ai888/p/18571470

相关文章

  • 从零开始理解JVM:对象的生命周期之对象创建
    一、对象创建从你new一个对象开始,发生了什么?遇到new指令,jvm首先要做的事是检查有没有这个类,没有的话,加载它!接下来,就要进行实例的内存分配,通过什么样的方式进行内存分配呢?1、内存分配方式指针碰撞这种分配前提是内存中有整片连续的空间,用的在一边,空闲的在另一边,用一个指针......
  • C语言函数递归经典题型——汉诺塔问题
    一.汉诺塔问题介绍        Hanoi(汉诺)塔问题。古代有一个梵塔,塔内有3个座A、B、C,开始时A座上有64个盘子,盘子大小不等,大的在下,小的在上。有一个老和尚想把这64个盘子从A座移到C座,但规定每次只允许移动一个盘,且在移动过程中在3个座上都始终保持大盘在下,小盘在上。在移动过程......
  • chisel常用函数备忘录
    编码器PriorityEncoderPriorityEncoder是Chisel中一个用于优先编码的函数。它接受一个布尔向量,返回其优先级最高(即索引最小)的高位的索引值。其常见用法包括处理多路选择器、优先级调度等场景。点击查看代码importchisel3._importchisel3.util._classPriorityEncoder......
  • python进阶之函数
    python进阶之函数函数概念函数本质声明和调用函数参数位置参数默认参数关键字参数可变参数作用域`LEGB`函数返回值return常用的内置函数函数概念函数是一段可重复使用的代码块,它接受输入参数并返回一个结果。函数可以用于执行特定的任务、计算结果、修改数据等,使......
  • flink学习(8)——窗口函数
    增量聚合函数——指窗口每进入一条数据就计算一次例如:要计算数字之和,进去一个12计算结果为20,再进入一个7——结果为27 reduceaggregate(aggregateFunction)packagecom.bigdata.day04;publicclass_04_agg函数{publicstaticfinalTuple3[]ENGLISH=new......
  • re模块 函数模式详解
    re模块python爬虫过程中,实现页面元素解析的方法很多,正则解析只是其中之一,常见的还有BeautifulSoup和lxml,它们都支持网页HTML元素解析,re模块提供了强大的正则表达式功能re模块常用方法compile(pattern,flags=0):用于编译一个正则表达式字符串,生成一个re.pattern对象......
  • “组块”是一个跨学科的概念,旨在通过对信息进行合理分解和组合,优化信息处理的效率。无
    “组块”一词在不同的领域有不同的含义。通常来说,组块(Chunking)是指将信息或数据分成较小的、易于处理和理解的部分。在认知心理学、语言学、计算机科学和学习理论中,组块都有各自的应用。1.认知心理学中的组块在认知心理学中,组块(Chunking)指的是通过将大量的信息划分成更小、更有......
  • Python基础学习-11函数参数
    1、"值传递”和“引用传递”1)不可变的参数通过“值传递”。比如整数、字符串等2)可变的参数通过“引用参数”。比如列表、字典。3)避免可变参数的修改4)内存模型简介2、函数参数类型1)deffunc()#无参数函数2)deffunc(value1,value2)#有参数函数;位置参数3)deffunc(......
  • java JVM的深入理解
    javaJVM的理解:编译--》运行(利用虚拟机【解释器】解释执行class字节码文件1.JVM的位置:JVM存在JRE里,是java的运行环境;2.JVM的体系结构java--》.class--》类装载器--》运行时数据区(方法区,Java栈,本地方法区navtivemethod堆,程序计算器)--》执行引擎3.类加载器:加载class文件,启动......
  • 1023: 1023 分段函数
    题目描述数学中经常使用分段函数来计算函数值,请编程实现。输入输入文件有多行,每行包括一个x,要求计算f(x)的值。输出当x<0时,f(x)=(x+1)*(x+1)+2x+1/x,当x>=0时,f(x)=x的平方根,保留两位小数,每行一个结果。样例输入 复制10-0.50样例输出 复制f(10.00)=3.16f(-0.50)=......