es6几个新增语法的使用----数组】的更多相关文章

//数组的累加方法 let arr=[1,2,3]; let sum=arr.reduce((prev,cur)=>{ return prev+cur; }) console.log(sum)//----6 //阶乘2的2次方的3次方 let arr=[2,2,3]; let sum=arr.reduce((prev,cur)=>{ return Math.pow(prev,cur); }) console.log(sum)//-----64 //阶乘2的2次方的3次方 es6方法 let a…
ECMAScript简介 ECMAScript与JavaScript的关系 ECMAScript是JavaScript语言的国际化标准,JavaScript是ECMAScript的实现.(前者是后者的规格,后者是前者的实现.但通常两者是可互换的.) ESMAScript的历史 1996年11月,Netscape公司将Js提交给国际化标准组织ECMA,当初该语言能够成为国际化标准. 1997年,ECMAScript 1.0版本推出.(在这年,ECMA发布262号标准文件(ECMA-262)的第一版…
各位,各位,终于把js完成了一个段落了,这次的章节一过我还没确定下面要学的内容可能是vue也可能是前后端交互,但无论是哪个都挺兴奋的,因为面临着终于可以做点看得过去的大点的案例项目了,先憋住激动地情绪,看看今天的一个内容,今天是es6新增的一些语法,简单也是真的简单,但是我要是没学今天这一天那看到了也是真的看不懂,就跟昨天的正则表达式一样一样的,今天的案例我都没怎么做,而且也都是一些比较简单的案例,我先把今天的一些有代表性的案例传上来吧,是一些面试题之类的,然后我就说下我今天学了些啥子语法,今天…
本文最初发表于博客园,并在GitHub上持续更新前端的系列文章.欢迎在GitHub上关注我,一起入门和进阶前端. 以下是正文. 数组的定义 之前学习的数据类型,只能存储一个值(字符串为一个值).如果我们想存储多个值,就可以使用数组. 数组的定义 (1)字面量定义.举例: var arr = [1,2,3]; (2)对象定义(数组的构造函数).格式: var arr = new Array(参数); 参数位置是一个数值时,表示数组长度:多个数值时,表示数组中的元素. 数组的操作 1.求数组的长度:…
ES6(函数新增特性) 1.函数参数默认值 没有 y 时,默认就是world 有 y 时,输出值即可 (错误) (C有默认值,正确) 默认值后面不能再有没有默认值的变量 2.作用域 y 取其前面的 x ;而不是 x = test; x 不在 y 的前面 3.test 参数 将输入参数(离散值)转化成数组 4.扩展运算符 将数组转化成离散值 5.箭头函数 arrow为函数名,第一个 = 后为参数, =>后为返回值,   第一个参数可为空. 6.尾调用 (条件:函数的最后一句话是不是函数:用来提升性…
ES6( ECMAScript 6.0)语法 一.let/const与var的区别 var 会进行预解析,let/const不会 var可以声明两个重名的变量,let/const不能 var没有块级作用域,let/const有块级作用域 二.箭头函数 1.普通函数 //xxx.onclick=function(a=10,b=20){ } 可以为函数设置默认值,没传参数就用默认值 xxx.onclick=function(){ } var xxx={fn:function(){} } xxx.fo…
1.let ES6中新增的用于声明变量的关键字. let 声明的变量只在所处于的块级有效. 注意:使用 let 关键字声明的变量才具有块级作用域,var 关键字是不具备这个特点的. 1. 防止循环变量变成全局变量. 2. 不存在变量提升 3. 暂时性死区 if(true){ let a=10; } console.log(a); // a is not defined //防止循环变量变成全局变量 for(var i=0;i<2;i++){ } console.log(i); // i=2(只有…
目录 1. 变量的定义 let const 2. 模版字符串 3. 数据解构 4. 函数扩展 设置默认值 箭头函数 5. 类的定义 class 6. 对象的单体模式 "@ ES6新增了关于变量的定义,函数扩展,数据结构,类,模块等概念,本文将详细介绍常用的ES6语法. *** 1. 变量的定义 let ES6中新增了let语法,用来声明变量,用法类似var. ==let定义的变量只在当前代码块内有效.== 如下示例: <script> if (true) { var username…
ES6简介 ES6是ECMAScript 6.0的简称,是javascript语言的下一代标准,已经在2015年6月正式发布上线.目的就是为了统一javascript的语法标准,可以用来开发大型应用程序,称为企业级开发语言. ES6与JavaScript的关系: ES6是JavaScript的规范标准,JavaScript是ES6的一种实现. 变量/赋值 块级作用域{} ES5中作用域有:全局作用域.函数作用域,没有块作用域的概念.ES6新增了块级作用域,块作用域由{}包括,if语句里面的{}也…
箭头函数 箭头函数:将原来函数的function关键字和函数名都删掉,并使用"=>"连接参数列表和函数体. 箭头函数语法: (参数1,参数2)=>{ 函数体 } 注意点: 当参数有且只有一个,括号可以省略.没有参数或多个参数时,括号不能省略. 如果函数体有且只有一个表达式时,可以省略花括号. 箭头函数使用实例: window.onload = ()=>{ console.log('网页加载完成') } 参数只有一个时,省略掉括号.函数体只有一个表达式,花括号也省略.如…
s的方法 根据index取value: 取首尾项,arr[0], arr[arr.length-1] 根据value取index(判断是否包含子字符串): s.indexOf 栗子: 'maotai'.indexOf('mao'), 如果不包含则返回-1,如果包含返回子字符串下标 取切片 s.substr(1,3) //含3 s.substring(1,3)//不含3 和arr之间的转换: s.split: s转为arr s = 'maotai|maomao' s.split('|') // […
电梯 原文 https://www.jianshu.com/p/5f40c43c6f85 重点: 遍历map结构 正则扩展 at相当于charAt() ,可以识别中文normarize()includes() , startsWith() , endsWith()repeat(n) //n为重复次数padStart, padEnd 字符串补全 ======== Math Math.trunc(4.1) //去除小数部分 等同:向下取整Math.sign() //判断正负数/0Math.cbrt(…
这是es6中新增的字符串方法 可以配合反单引号完成拼接字符串的功能 1.反单引号怎么打出来?将输入法调整为英文输入法,单击键盘上数字键1左边的按键. 2.用法step1: 定义需要拼接进去的字符串变量step2: 将字符串变量用${}包起来,再写到需要拼接的地方 3.示例代码: let a='Karry Wang'; let str=`I love ${a}, because he is handsome.`; //注意:这行代码是用返单号引起来的 alert(str); 一定是用反单引号啊!不…
Promise介绍 promise是一个对象,从它可以获取异步操作的消息.有all.race.reject.resolve这几个方法,原型上有then.catch等方法. Promise的两个特点: 对象的状态不受外界影响.Promise对象获取的是异步操作,有三种状态:pending(进行中).fulfilled(已成功).reject(已失败).除了异步操作的结果,其他操作都无法改变这个状态. 一旦状态改变,就不会再变.从pending变为fulfilled和从pending变为reject…
ES6中json的2个变化 简写:名字和值相同时,json可以可以简写 let a=12,b=5; let json = { a, b } console.log(json) // { a:12 , b:5 } 省略function:json中的函数可以简写 let persen ={ name:'倩倩', age:18, showName(){ alert(this.name) } } persen.showName() ES6与传统面向对象 传统面向对象:类和构造函数在一起,为对象添加方法时…
ES6中json的2个变化 简写:名字和值相同时,json可以可以简写 let a=12,b=5; let json = { a, b } console.log(json) // { a:12 , b:5 } 省略function:json中的函数可以简写 let persen ={ name:'倩倩', age:18, showName(){ alert(this.name) } } persen.showName() ES6与传统面向对象 传统面向对象:类和构造函数在一起,为对象添加方法时…
什么是async async的意思是"异步",顾名思义就是有关异步操作的关键字,async 是 ES7 才有的,与我们之前说的Promise.Generator有很大的关联. 使用语法: async function name(param){ param //传递给函数的参数名称 statements //函数体 } name().then(function(res){ res//异步操作返回的结果 }) async 函数返回一个Promise对象,可以使用then方法添加回调函数.具…
使用new Set()快速数组去重: let arr = [1, 2, 2, 3, 4, 5, 5, 5, 6] let set = new Set([...arr]) console.log([...set]) //[1, 2, 3, 4, 5, 6] function SetArr(array) { return Array.from(new Set(array)); } console.log(SetArr([1, 1, 2, 2, 3, 4, 4])) // [1, 2, 3,4]…
ES6为数组添加了多个新方法,既对它的功能进行了强化,也消除了容易产生歧义的语法. 一.静态方法 1)of() ES6为Array对象新增的第一个静态方法是of(),用于创建数组,它能接收任意个参数,返回值是由这些参数组成的新数组.创建数组比较传统的做法是用构造函数Array(),但当参数是一个正整数时,得到的却是一个带指定长度的空数组,而不是包含该参数的数组.Array.of()就不存在这种会产生歧义的行为,它不受参数的数据类型和数量的影响,返回的都是相同的结果,两种创建方式的对比如下所示.…
今天的开始进入了js的高级语法 我马上也要复习完了,之前学到闭包递归,就回去复习去了,复都复习这么久而且,复习的过程真的比学知识的过程难熬的多,只不过终于要复习完了,再来点es6的新语法马上就要步入vue了,想想都有点小激动,今天首先来的第一个案例我称之为目前为止的史诗级难度,第一次做的时候懵懵懂懂的,这第二次复习到再做慢慢的有点感觉了,也懂了很多但还是有一些部分自己独立完成不了,这是一个基于面向对象的tab栏,我第一次做的时候应该也在下面开贴了,这一次做收货照样很多,不多说了先看效果吧 先来h…
---恢复内容开始---   绪 言 ES6 大家对JavaScript中的函数都不陌生.今天我就为大家带来ES6中关于函数的一些扩展方式和方法. 1.1函数形参的默认值 1.1.1基本用法 ES6 之前,不能直接为函数的参数指定默认值,只能采用变通的方法.如下代码: function func(x,y){ y = y || "tom"; console.log(x,y); } func("hello"); //hello tom func("hello&…
2.基本语法 let, const, forEach,for of class, extends, super arrow functions, template string, destructuring, default, rest arguments 以上是我们需要掌握的常用的ES新特性,一个一个的玩,不要怕 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8…
数组的扩展 扩展运算符 含义 扩展运算符(spread)是三个点(...).它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列. console.log(...[1, 2, 3]) // 1 2 3 console.log(1, ...[2, 3, 4], 5) // 1 2 3 4 5 [...document.querySelectorAll('div')] // [<div>, <div>, <div>] 该运算符主要用于函数调用. functio…
上一章请见: 1. ES6 随记(1)-- let 与 const 2. ES6 随记(2)-- 解构赋值 3. ES6 随记(3.1)-- 字符串的拓展 4. ES6 随记(3.2)-- 正则的拓展 & 数值的拓展 4. 拓展 d. 数组的拓展 · Array.from 方法 querySelectorAll 得到并不是一个数组,而是 NodeList:arguments 也不是数组,是个很奇怪的对象. 所以新增了一个 Array.from 方法,将这些可遍历(具有 Iterator 接口)对…
块级作用域:  ES6允许你使用块级作用域,不过目前大多数的ES6语法只允许在严格模式下使用("use strict” ). 1 let关键字 作用:声明变量,一个花括号就是一个作用域(每个花括号内就是全新变量). 特点:不在进行声明提升,在块作用域外无法访问变量,和const一样只能声明一次. 关键字:let , const,function,class ES6下都可以以块为作用域 借鉴:https://blog.csdn.net/kittyjie/article/details/503370…
引自http://es6.ruanyifeng.com/#docs/array 1.扩展运算符(...) 扩展运算符(spread)是三个点(...).它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列. 该运算符主要用于函数调用. function push(array, ...items) { array.push(...items); } function add(x, y) { return x + y; } , ]; add(...numbers) 替代数组的 appl…
1.1. Array.from() Array.from方法用于将两类对象转为真正的数组:类似数组的对象(array-like object)和可遍历(iterable)的对象(包括ES6新增的数据结构Set和Map). 下面是一个类似数组的对象,Array.from将它转为真正的数组. let arrayLike = { '0': 'a', '1': 'b', '2': 'c', length: 3}; // ES5的写法var arr1 = [].slice.call(arrayLike);…
框架图 环境搭建 课程中常见dos命令: dir : 列出当前目录下的文件以及文件夹 md : 创建目录 rd : 删除目录 cd : 进入指定目录 cd.. : 退回到上一级目录 cd/ : 退回到根目录 del : 删除文件 exit : 退出dos命令行   JDK,JRE的区别: JDK是Java程序开发包,是面向开发人员使用的SDK,它同时提供了Java的开发环境和运行环境. JRE是指Java的运行环境,是面向Java程序的使用者,而不是开发者. 简单而言:使用JDK开发完成的jav…
ES5以及之前的版本,没有类的概念,但是聪明的JavaScript开发者,为了实现面向对象,创建了特殊的近类结构. ES5中创建类的方法:新建一个构造函数,定义一个方法并且赋值给构造函数的原型. 'use strict'; //新建构造函数,默认大写字母开头 function Person(name) { this.name = name; } //定义一个方法并且赋值给构造函数的原型 Person.prototype.sayName = function () { return this.na…
1.基本上,ES6 的class可以看作只是一个语法糖,它的绝大部分功能,ES5 都可以做到,新的class写法只是让对象原型的写法更加清晰.更像面向对象编程的语法而已. 类的内部所有定义的方法,都是不可枚举的(non-enumerable).这一点与 ES5 的行为不一致. 2.类和模块的内部,默认就是严格模式,所以不需要使用use strict指定运行模式.只要你的代码写在类或模块之中,就只有严格模式可用. --考虑到未来所有的代码,其实都是运行在模块之中,所以 ES6 实际上把整个语言升级…