首页 > 其他分享 >JacaScript 中函数的参数

JacaScript 中函数的参数

时间:2023-05-29 10:48:25浏览次数:120  
标签:JacaScript console 函数 参数 log message name

在JavaScript中,函数的参数有以下几种:

1. 普通参数(Positional Parameters):这是最常见的函数参数类型,定义时在函数括号内指定参数名称即可。调用函数时需要传入相应的参数值,按照定义时的顺序对应传入。例如:

```
javascriptCopy code
function greet(name, message) {
console.log(`${message}, ${name}!`);
}
greet('Alice', 'Hello'); // 输出:Hello, Alice!
```

2. 默认参数(Default Parameters):默认参数是ES6新增的特性,可以在定义函数时指定某个参数的默认值,如果在调用函数时未传入该参数,则会使用默认值。例如:

```
javascriptCopy code
function greet(name, message = 'Hello') {
console.log(`${message}, ${name}!`);
}
greet('Alice'); // 输出:Hello, Alice!
greet('Bob', 'Hi'); // 输出:Hi, Bob!
```

3. 剩余参数(Rest Parameters):也是ES6新增的特性,允许函数接受任意数量的参数,并将它们保存在一个数组中。在函数定义时,使用 `...` 运算符来声明剩余参数,可以使用任意名称,通常使用 `args` 或 `rest`。例如:

```
sqlCopy code
function sum(...args) {
let result = 0;
for (let arg of args) {
result += arg;
}
return result;
}
console.log(sum(1, 2, 3)); // 输出:6
console.log(sum(4, 5, 6, 7, 8)); // 输出:30
```

4. 命名参数(Named Parameters):命名参数是一种不常用的参数类型,在函数调用时使用对象来传递参数,每个属性对应一个参数。在函数定义时,使用解构赋值来提取需要的属性值。例如:

```
javascriptCopy code
function greet({ name, message }) {
console.log(`${message}, ${name}!`);
}
greet({ name: 'Alice', message: 'Hello' }); // 输出:Hello, Alice!

```

5. 动态参数:是指函数的参数数量不固定,可以根据传入的参数数量来决定。在 JavaScript 中,可以使用 `arguments` 对象来实现动态参数。

`arguments` 对象包含了函数调用时传入的所有参数,可以通过索引或循环遍历来获取参数值。在函数内部,可以使用 `arguments.length` 属性获取传入的参数数量。

在 ES6 中,还可以使用剩余参数语法来实现动态参数。剩余参数使用 `...` 符号表示,它可以在函数定义时用来捕获多余的参数,并将它们放入一个数组中。在函数内部,可以直接使用这个数组来操作传入的参数。

下面是一个使用动态参数的例子:

```
javascriptCopy code
// 使用 arguments 对象实现动态参数
function sum() {
let total = 0;
for (let i = 0; i < arguments.length; i++) {
total += arguments[i];
}
return total;
}

console.log(sum(1, 2, 3, 4)); // 输出 10

// 使用剩余参数语法实现动态参数
function multiply(...nums) {
return nums.reduce((acc, cur) => acc * cur, 1);
}

console.log(multiply(1, 2, 3, 4)); // 输出 24
```

需要注意的是,在JavaScript中,函数的参数是按值传递的,而不是按引用传递的。也就是说,如果参数是一个对象,函数内部对参数对象的修改不会影响到函数外部的对象。

标签:JacaScript,console,函数,参数,log,message,name
From: https://www.cnblogs.com/yxxcl51/p/17439708.html

相关文章

  • Hive的用户自定义函数实现步骤与流程
    参考答案:1、如何构建UDF?用户创建的UDF使用过程如下:第一步:继承UDF或者UDAF或者UDTF,实现特定的方法;第二步:将写好的类打包为jar,如hivefirst.jar;第三步:进入到Hive外壳环境中,利用addjar/home/hadoop/hivefirst.jar注册该jar文件;第四步:为该类起一个别名,createtemporaryfunctionmylen......
  • spring boot 限制初始值大小及参数中文详解
    要加“m”说明是MB,否则就是KB了.-Xms:初始值-Xmx:最大值 -Xmn:最小值java-Xms10m-Xmx80m-jarmod.jar & 时区设置 java-jar-Duser.timezone=GMT+08mod.jar& #----------------------------------------  #核心属性  #----------------------------------------   #BANN......
  • 聊聊Python内函数的参数
    引:基于函数的定义与调用两个阶段,函数的参数也由此分为两块:形式参数和实际参数 形参与实参介绍函数的参数分为形式参数和实际参数,简称形参和实参:形参即在定义函数时,括号内声明的参数,形参本质就是一个变量名,用来接收外部传来的值;实参即在调用函数时,括号内传入的值,值可以是常......
  • JavaScript函数传参原理详解——值传递还是引用传递
    讨论JavaScript的传参原理之前,我们先来看一段曾经让笔者困惑了一段时间的代码vartestA=1;vartestB={};functiontestNumber(example){example=2;}functiontestObj(example){example.test=1;}testNumber(testA);testObj(testB);console.log(testA);//......
  • rust 初识基础: 变量、数据类型、函数、所有权、枚举
    了解到rust和WebAssembly的结合使用,可以构建前端应用,而且性能也比较好。初步学习使用rust是预编译静态类型语言。安装rust官网下载rust-CN,大致了解下为什么选择:高性能、可靠性、生产力。打开控制台啊,执行安装(mac系统,windwos或其他系统查看官网)&>curl--proto......
  • 库函数 数学函数 审核中
    数学函数 头文件:#include<math.h>或#include"math.h"函数名函数原型功能说明absintabs(intx);求整数绝对值 acosdoubleacost(doublex);计算cos^-1(x)-1<x<1asindoubleasin(doublex);计算sin^-1(x)-1<x<1atandoubleatan(dou......
  • 委托构造函数
    一.当构造受委托的构造函数时,受委托的构造函数函数体会执行而委托构造函数函数体不会执行;classPerson{public:Person(){cout<<"这是一个无参构造"<<endl;}Person(constPerson&p){cout<<"这是一个拷贝构造"<<endl;......
  • 编写atoi函数
    编写atoi函数#include<stdio.h>voidmy_gets(char*a,intn){inti=0;while(i<n){if((a[i]=getchar())=='\n'){i++;break;}i++;}a[i]=0;}intmy_atoi(char*s){intx=0,y=1;if(*s=='-&#......
  • php数值转换函数
    PHP提供了很多用于数值转换的函数,其中最常见的是intval()、floatval()和strval()。intval()函数可以将一个变量的值转换为整数。如果变量是浮点数,则会将其截断成整数;如果变量是字符串,则会尝试将其转换成整数。floatval()函数则可以将变量的值转换为浮点数。如果变量本身就是一个......
  • mybatis 查询 map 多参数
         返回map 返回一个大map 主键id作为keyvalue本身作为map  ......