ES6基础语法之函数介绍
时间:2022-10-29 11:22:25|栏目:JavaScript代码|点击: 次
一、函数参数的扩展
ES6支持参数的默认值:
function fn(name,age,sex="男") { console.log(`大家好,我是${name},性别${sex},今年${age}岁!`); } fn("刘德华",45); //大家好,我是刘德华,性别男,今年45岁!
传递undefined,取默认值:
function fn(name,sex="男",age) { console.log(`大家好,我是${name},性别${sex},今年${age}岁!`); } fn("刘德华",undefined,45); //大家好,我是刘德华,性别男,今年45岁!
不定参数:不定参数用来表示不确定参数个数:
function Add(...items) { // let sum = 0; // for(let item of items) // { // sum += item; // } // return sum; let sum = 0; for(var i = 0;i< items.length;i++) { sum += items[i]; } return sum; } let result1 = Add(1,2,3); let result2 = Add(1,3,5,7,9); console.log(result1); //6 console.log(result2); //25
二、箭头函数
箭头函数提供了一种更加简洁的函数书写方式,基本语法是:参数 => 函数体
没有参数的函数(参数部分需要有一对空括号):
let f = ()=>{console.log("hello,world!")} f(); //hello,world
等价于:
function f() { console.log("hello,world!"); } f(); //hello,world
只有一个参数的函数(参数部分不需要括号):
let f = num =>{ if(num%2 == 0) return "偶数"; else return "奇数"; } console.log(f(50)); //偶数
有多个参数的函数(参数部分需要括号):
let f = (a,b)=>{ let c = a+b; return c; } console.log(f(2,3)); //5
当只有一行语句,并且需要返回结果时,可以省略 {} , 结果会自动返回:
let f = (a,b) => a+b; console.log(f(2,3)); // 5
当箭头函数要返回对象的时候,为了区分于代码块,要用 () 将对象包裹起来:
let f = (id,name) => {id: id, name: name}; let obj = f("001","刘德华"); // 报错 console.log(obj);
let f = (id,name) => { return {id: id, name: name}; }; let obj = f("001","刘德华"); console.log(obj); //{id:"001",name:"刘德华"}
let f = (id,name) => ({id: id, name: name}); let obj = f("001","刘德华"); console.log(obj); //{id:"001",name:"刘德华"}