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基础语法之函数的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
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 函
随机推荐
- asp.net通过动态加载不同CSS实现多界面
- linux下mysql开启远程访问权限 防火墙开放3306端口
- FCKeditor + SyntaxHighlighter 让代码高亮着色插件
- sql2008安装后服务器改名造成名称不一致解决方法
- 金山毒霸2007激活码注册码附无限升级号
- 使用GSON库将Java中的map键值对应结构对象转换为JSON
- 最大K个数问题的Python版解法总结
- javascript创建对象、对象继承的实用方式详解
- docker images,info,-d等命令报错的解决方法
- MySQL查询优化:LIMIT 1避免全表扫描提高查询效率
- 多个jquery.datatable共存,checkbox全选异常的快速解决方法
- 机会总是留给有准备的人 IT行业暴富
- 详解js静态资源文件请求的处理
- MSSQL中递归SQL查询语句实例说明-
- 优化SQL Server的内存占用之执行缓存
- 设置网上支付的方法
- jquery+php实现滚动的数字特效
- javascript实现鼠标选取拖动或Ctrl选取拖动
- twig里使用js变量的方法
- Android 调试工具用法详细介绍