ES6基础语法之函数介绍

一、函数参数的扩展

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:"刘德华"}

到此这篇关于ES6基础语法之函数的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • ES6函数和数组用法实例分析

    本文实例讲述了ES6函数和数组用法.分享给大家供大家参考,具体如下: 1.对象的函数解构 ES6为我们提供了这样的解构赋值使在前后端分离时,后端返回来JSON格式的数据,前端可以直接把这个JSON格式数据当作参数,传递到函数内部进行处理.比如: let json = { a:'es6', b:'es5' } function fun({a,b='es5'}){ console.log(a);//es6 console.log(b);//es5 } fun(json); 结果为: 2.数组的函数解

  • JavaScript ES6的函数拓展

    目录 ES6函数拓展 函数的默认参数 reset参数 name属性 箭头函数 ES6函数拓展 函数的默认参数 之前的写法: function count(x, y) {     return x + y; } count(3);//因为只传递了参数x,y的默认值为undefined //undefined + 3返回NaN function count(x, y) {     x = x || 0;     y = y || 0;     return x + y; } count(3);//3

  • es6函数之箭头函数用法实例详解

    本文实例讲述了es6函数之箭头函数用法.分享给大家供大家参考,具体如下: es6允许使用"箭头"(=>)定义函数. var f = v => v // 等同于 var f = function(v) { return v } 如果箭头函数不需要参数或需要多个参数,就使用一个圆括号代表参数部分. var f = () => 5 // 等同于 var f = function() { return 5 } var sum = (num1, num2) => num1

  • es6函数之尾递归用法实例分析

    本文实例讲述了es6函数之尾递归用法.分享给大家供大家参考,具体如下: 函数调用自身,称为递归,如果尾调用自身,就称为尾递归. 递归非常耗费内存.因为需要同时保存成千上百个调用帧,很容易发生"栈溢出"错误(stack overflow).但是对于尾递归来说,由于只存在一个调用帧,所以永远不会发生"栈溢出"错误. function factorial(n) { if (n === 1) return 1 return n * factorial(n - 1) } 如果

  • ES6函数实现排它两种写法解析

    排它思想:清除其它所有的没有选中元素的样式, 只设置当前选中元素的样式 html代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <ul> <li class="current"&g

  • es6函数中的作用域实例分析

    本文实例讲述了es6函数中的作用域.分享给大家供大家参考,具体如下: 一旦设置了参数的默认值,函数进行声明初始化时,参数会形成一个单独的作用域(context).等到初始化结束,这个作用域就会消失.这种语法行为,在不设置参数默认值,是不会出现的. var x = 1; function f(x, y = x) { console.log(y); } f(2) // 2 上面的代码中,参数y的默认值等于变量x.调用函数f时,参数形成一个单独的作用域.在这个作用域里面,默认值变量x指向第一个参数x,

  • ES6箭头函数和扩展实例分析

    本文实例讲述了ES6箭头函数和扩展.分享给大家供大家参考,具体如下: 1.默认值 在ES6中给我们增加了默认值的操作相关代码如下: function add(a,b=1){ return a+b; } console.log(add(1)); 可以看到现在只需要传递一个参数也是可以正常运行的. 输出结果为:2. 2.主动抛出错误 ES6中我们直接用throw new Error( xxxx ),就可以抛出错误. function add(a,b=1){ if(a == 0){ throw new

  • es6函数之rest参数用法实例分析

    本文实例讲述了es6函数之rest参数用法.分享给大家供大家参考,具体如下: es6引入rest参数(形式为 -变量名),用于获取函数的多余参数,这样就不需要使用arguments对象了,rest参数搭配的变量是一个数组,该变量将多余的参数放入数组中. function add (...values) { let sum = 0; for (var val of values) { sum += val } return sum } add(2, 3, 5) // 10 上面代码的add函数是一

  • es6函数之尾调用优化实例分析

    本文实例讲述了es6函数之尾调用优化.分享给大家供大家参考,具体如下: 什么是尾调用优化? 尾调用是函数式编程的一个重要概念,本身非常简单,一句话就能说清楚,就是指某个函数的最后一步是调用另一个函数. function f(x) { return g(x) } 上面代码中,函数f的最后一步是调用函数g,这就叫尾调用. 以下三种情况,都不属于尾调用. // 情况一 function f(x) { let y = g(x) return y } // 情况二 function f(x) { retu

  • ES6基础语法之函数介绍

    一.函数参数的扩展 ES6支持参数的默认值: function fn(name,age,sex="男") { console.log(`大家好,我是${name},性别${sex},今年${age}岁!`); } fn("刘德华",45); //大家好,我是刘德华,性别男,今年45岁! 传递undefined,取默认值: function fn(name,sex="男",age) { console.log(`大家好,我是${name},性别${

  • ES6基础语法之模块化介绍

    ES6 引入了模块化, ES6 的模块化分为导出(export) @与导入(import)两个模块. ES6模块化特点: (1)ES6 的模块自动开启严格模式,不管你有没有在模块头部加上 use strict;. (2) 模块中可以导入和导出各种类型的变量,如函数,对象,字符串,数字,布尔值,类等. (3) 每个模块都有自己的上下文,每一个模块内声明的变量都是局部变量,不会污染全局作用域. (4) 每一个模块只加载一次(是单例的), 若再去加载同目录下同文件,直接从内存中读取. 一.export

  • ES6基础语法之class类介绍

    一.class基本语法 JavaScript 语言中,编写一个学生类,代码如下:(prototype可以个对象添加属性和方法) function Student(stuno,stuname) { this.stuno = stuno; this.stuname = stuname; } Student.prototype.stusex = ""; Student.prototype.sayHi = function() { console.log("大家好,我是"+

  • ES6基础语法之数组拓展

    一.Array.of() 将参数中所有值作为元素形成数组: console.log(Array.of(1, 2, 3, 4)); // [1, 2, 3, 4] 参数的值可以为不同的类型: console.log(Array.of(1, '2', true)); // [1, '2', true] 参数为空时返回空数组: console.log(Array.of()); // [] 注意: let arr1 = new Array(10); //是一个长度为10的空数组 let arr2 = A

  • ES6基础语法之字符串扩展

    一.字符串的遍历 JS中遍历字符串: var str = "hello,world"; for(var i = 0;i<str.length;i++) { console.log(str[i]); } ES6扩展的遍历字符串方法: let str = "hello,world"; for(let c of str) { console.log(c); } 二.字符串识别.重复.补全 字符串识别: ES6 之前判断字符串是否包含子串,用 indexOf 方法,E

  • python基础之匿名函数介绍

    目录 前言 一.创建一个匿名函数: 二.创建一个带参数的匿名函数 三.求两个数的中的最大的值 四.练习题: 前言 在定义函数的时候,不想给函数起一个名字.这个时候就可以用lambda来定义一个匿名函数 语法: 变量名= lambda 参数:表达式(block) 参数:可选,通常以逗号分隔的变量表达式形式,也就是位置参数 表达式:不能包含循环.return,可以包含if-else- 注意: 1.表达式中不能包含 循环,return.可以包含 if-else-语句. 2.参数可有可无,如果有多个参数

  • ES6基础语法之Map和Set对象

    一.Map对象 Map 对象保存键值对.任何值(对象或者原始值) 都可以作为一个键或一个值. Map中的键值是有序的. let myMap = new Map(); myMap.set("23","乔丹"); myMap.set("33","皮蓬"); let name = myMap.get("33"); console.log(name); //皮蓬 let has = myMap.has("

  • ES6基础语法之对象用法

    一.对象和属性和方法 JavaScript中对象: var person={name:"Jack",age:20}; 或: var name = "jack"; var age = 20; var person = {name:name,age:age}; console.log(person.age); //20 ES6中的简洁表示: let [name,age]=["jack",20]; let person = {name,age}; //

  • JavaScript基础语法与数据类型介绍

    目录 一.JavaScript语法 1.区分大小写 2.标识符 3.注释 4.变量 二.JavaScript的数据类型 1.Undefined类型 2.Null类型 3.Boolean类型 4.Number 5.String类型 6.Object类型 三.typeof操作符 一.JavaScript语法 1.区分大小写 ECMAScript中的一切,包括变量.函数名和操作符都是区分大小写的.例如:text和Text表示两种不同的变量. 2.标识符 所谓标识符,就是指变量.函数.属性的名字,或者函

  • Kotlin 基础语法详细介绍

    Kotlin 基础语法详细介绍 基础语法 定义包名 包名的定义应当在源文件的头部 package my.demo import java.util.* // ... 文件路径和包名并不要求匹配,源文件可以被放置在文件系统任意位置 参考:包 定义函数 函数有两个Int类型参数和Int类型返回值: fun sum(a: Int, b: Int): Int { return a + b } 函数体中只有一个表达式并且作为函数的返回值: fun sum(a: Int, b: Int) = a + b 函

随机推荐