es6语法简介:

// 1.历史:// 1995-----JavaScript诞生// 1997-----ECMAScript标准确立// 1999-----ES3出现,与此同时IE5风靡一时// 2009-----ES5出现,现在绝大所数使用的是ES5// 2015-----ES6/ECMAScript2015出现// 2.函数的Rest参数和扩展:----rest参数实际就是一种动态的参数,不知道外面传递多少个参数的时候可以说传入rest参数,语法...m,m是可以写成其他字母的。// 1.ES6中输出变量和循环的使用:function sum(...m){var sum = 0;for (var i of m){//----------ES6中 var * of m 循环sum += i;};console.log(`sum:${sum}`);//-----ES6中反引号里面${}可以输出变量的值};sum(1,2,3);//-----6//2.ES6中箭头函数使用:let sum2 = (...f)=>{//ES5中小括号就代表function,当函数体里面只有一行代码时,可以省略箭头后面的{}直接写,当为多行时,后面的{}不能省略。var sum = 0;for (var i of f){sum += i;};console.log(`sum:${sum}`);};sum2(2,3);//----5//3.数组的扩展:数组前面放三个点 ... 表示把数组拆分出来。// 1.简单拆分数组:console.log(...[1,2,3]);//------1,2,3// 2.合并多个数组:----实现concat() API功能var arr1 = [1,2]; [3,4]; var arr3 = [5,6];console.log([...arr1,...[3,4],...arr3]);//-------[1, 2, 3, 4, 5, 6]// 3.数组项前面加... 此项形参为一个数组,实参可以传递多个值,没有...时是一一对应的。var [x,y] = [2,5];console.log(y);//------5// ============================================//var [x,...y] = [2,5,6,7,8];console.log(y);//-------[5, 6, 7, 8]//4.后面接字符串:console.log(...'qwert');//-----q w e r t//============================================//var [x,...y] = 'qwert';console.log(y);//-------["w", "e", "r", "t"]// 3.Promise使用:------解决回调地狱,代码拥堵问题,演示:// 判断input是否传入大于5的参数,并随机产生一个奇数或者偶数案例:let input = function(x){// new 一个Promise对象,里面传入一个函数并returnreturn new Promise(function(resolve,reject){//resolve表示接口成功后执行的回调函数,reject表示接口报错后执行的回调函数let flag = x > 5 ? true : false;if (flag) {resolve({stat:0}) } else {reject({stat:1})}});};let inputs = ()=>{return new Promise((resolves,rejects)=>{var y = Math.floor(Math.random()*100);let flags = y % 2 == 0 ? true : false;if (flags) {resolves({stats:2});} else {rejects({stats:3})}})}// input此时接收到的是Promise返回的一个对象,可以点出属性then和catchinput(51).then((res)=>{//then属性表示接口成功后执行的回调函数,回调函数里面的参数实际就是resolve()里面的对象if (res.stat == 0) {console.log('输入的参数大于5');return inputs();//返回新的带有Promise函数的对象供下一个then和catch调用}}).catch((rej)=>{//catch属性表示接口失败后执行的回调函数,回调函数里面的参数实际就是reject()里面的对象if (rej.stat == 1) {console.log('输入的参数不大于5');return inputs();//返回新的带有Promise函数的对象供下一个then和catch调用}}).then((ress)=>{if (ress.stats==2) {console.log('并随机产生了一个偶数')}}).catch((rejs)=>{if (rejs.stats==3) {console.log('并随机产生了一个奇数')}})// Promise提供了一个方法:.all()可以同时发多个请求:Promise.all([input(),inputs()]).then(([res1,res2])=>{console.log(`result1:${res1.stat},result2:${res2.stats}`)})// 4.Common.js中和ES6中导入导出模块区别:// 1.export default {name:'app'}-------ES6中默认导出一个模块// export var obj = '声明式'  或者 var obj = '声明式'  , export {obj}---------声明式导出//module.exports = {name:'app'}------ common.js导出一个模块// 2.import uter from './uter' -----ES6默认导入模块// import {obj1,obj2,obj3} from './module' -----ES6声明式导入模块//var uter = require('./uter')---common.js导入模块// 3.import和export只能在顶级作用域执行,其他作用域会报错,这里介绍全体导入:// import * as obj from './test.js' ------此导入方式返回的是一个导入模块的对象// 5.AMD、CMD、CommonJS、和ES6对比:// 1.AMD、CMD、CommonJS是模块化开发的标准,规范。// 1.AMD是RequireJS在推广过程中对模块定义的规范化产出,是一个异步模块定义。define(['package/lib'],function(lib){function foo(){lib.log('hello world!')};return {foo:foo};});// 2.CMD是SeaJS在推广过程中对模块定义的规范化产出,是个同步模块定义。define(function(require,exports,module){var $ = require('jquery');var Spinning = require('./spinning');})// 3.CommonJS规范通过-module.exports定义的,前端浏览器不支持module.exports,在node后端使用// 6.对象属性的声明:// 1.变量的简写var person = {name, //--------当name的属性值和name属性一样时,可以简写,这里即表示 name:namesex:1,age:15}// 2.函数的简写:var play = {add:function(x){return x;},add2(x){  //-----函数声明简写为:函数名(){ 函数体 }return x;}}

提示:本文图片等素材来源于网络,若有侵权,请发邮件至邮箱:810665436@qq.com联系笔者 删除。
笔者:苦海

javascript中es6语法相关推荐

  1. .vue文件在webstorm中es6语法报错解决方法

    .vue文件在webstorm中es6语法报错解决方法 参考文章: (1).vue文件在webstorm中es6语法报错解决方法 (2)https://www.cnblogs.com/yuqing6/ ...

  2. 带你一文读懂Javascript中ES6的Symbol

    带你一文读懂Javascript中ES6的Symbol 前言 基础类型 Symbol Symbol.for 与 Symbol.keyFor Symbol.iterator Symbol.search ...

  3. JavaScript (11) ES6语法

    1. ES6 语法 ECMAScript 6 是继ECMAScript 5 之后发布的JavaScript 语言的新一代标准,加入了很多新的特性和语法,该标准于2015年6月17日发布了正式版本,并被 ...

  4. JavaScript中的 语法糖 是什么?

    专业的解释 在计算机科学中,语法糖(syntactic sugar)是指编程语言中可以更容易的表达一个操作的语法,它可以使程序员更加容易去使用这门语言:操作可以变得更加清晰.方便,或者更加符合程序员的 ...

  5. JavaScript之ES6语法

    目录 1.变量的使用 (1)let的使用 (2)const的使用 2.解构赋值 (1) 数组解构 (2)对象解构 3.箭头函数 (1)箭头函数的写法 (2)箭头函数的this指向问题 4.三点运算符 ...

  6. js 正则中冒号代表什么_javascript中正则表达式语法详解

    好久都没有写博客了,主要是太懒了,尤其是在阳春三月,风和日丽的日子,太阳暖暖的照在身上,真想美美的睡上一觉.就导致了这篇博客拖到现在才开始动笔,javascript的正则这一块也不是什么新的东西,主要 ...

  7. 学习webpack4 - ES6语法转化

    学习webpack4 - 基础配置 学习webpack4 - HTML处理 学习webpack4 - 样式处理 学习webpack4 - ES6语法转化 学习webpack4 - 第三方库的使用 学习 ...

  8. 【面试需要】掌握JavaScript中的this,call,apply的原理

    作者 |  Jeskson 掘金 |  https://juejin.im/user/5a16e1f3f265da43128096cb 2020年01月10日 前言,为什么要学习在掌握JavaScri ...

  9. javascript中实例对象和构造函数关系、原型语法、原型链、call实现继承、apply调用函数、bind拷贝函数、拷贝继承、class类、super、严格模式、高阶函数、闭包、递归、es6简介

    实例对象和构造函数的关系及原型: 实例对象是通过构造函数创建出来的,实例对象的构造器constructor就是指向构造函数的:每个实例对象中的同一方法的指向是各不相同的,但是其属性值相同的属性可以相同 ...

最新文章

  1. mybatis框架使用generator的快速搭建
  2. 在Ubuntu 7.04上安装Xfce 4.4.1
  3. 换5G手机别着急!雷军:再等等,我们不赚钱
  4. NTV Media Server G3流媒体服务器搭建经验
  5. 2017 前端大事件和趋势回顾,2018 何去何从?
  6. 计算机网络基础系列(七)复用、分用和可靠数据传输的基本原理
  7. Xshell、Xftp 正版资源
  8. 软件测试基础理论选择题(含答案)
  9. word文档输入带勾的复选框
  10. “2019/10/17创新创业工坊第六期第二课”心得体会
  11. .prettierrc文件的作用
  12. 千峰Java教程:071. 数据结构之链表①
  13. OpenJudge百炼-1183-反正切函数的应用-C语言-简单计算
  14. GAMES101课程学习笔记—Lec 14(2)~16:Ray Tracing(2) BRDF、渲染方程、全局光照、路径追踪
  15. day2-运算符和分支
  16. 计算机具有理性和逻辑思维吗,我们的理性和逻辑思维能力真的有那么重要吗?...
  17. 破解网页文字无法复制的方法
  18. 全国大学计算机专业排名2021,2021全国计算机专业大学排名一览表
  19. USB会议摄像机的重要的网络特性
  20. 电子商务专业(技术方向)学习经验(忠告)

热门文章

  1. MySQL删除数据库
  2. R语言基础入门(9)之因子类型
  3. vlookup两个条件匹配_vlookup,你还是只会基础的单条件查找?
  4. Python测试开发django4.templates模板配置
  5. C# 延迟初始化 LazyT
  6. 通过NGINX location实现一个域名访问多个项目
  7. P1-0:项目框架搭建
  8. 定义一个类:实现功能可以返回随机的10个数字,随机的10个字母, 随机的10个字母和数字的组合;字母和数字的范围可以指定,类似(1~100)(A~z)...
  9. Python中xPath技术和BeautifulSoup的使用
  10. WINFORM 调用 Close 不会释放窗体