风华正茂、时光流逝、真爱时光、努力创建辉煌。

【原生】--ES6 新增的方法

let

区别1:
let定义的变量只能在代码块{}里面使用,形成一个{}块级作用域
var作用于函数作用域

区别2:
let不允许重复声明,它是一个封闭空间,解决了i问题

 

var a=5
var a=12 //-->a=5
 
let a=5
let a=12 //-->error

 

 

const

const用来定义常量,一旦定义了,后面就不能修改了

箭头函数=>

 

 

 

解构赋值

  1. 左右两边结构一样
  2. 右边必须是合法结构(错误例子:{12,5,8})
  3. 声明和赋值写在一句话中(错误例子:let [a,b]; [a,b]=[12,5];)

 

 

//数组
let [a,b,c]=[12,5,101] // a=12,b=5,c=101
//JSON
let {a,b,c}={b:5,a:12,c:101} // json跟顺序无关,a=12,b=5,c=101
//混合型,左右结构、顺序一致
let [{a,b},[n1,n2,n3],num,str] = [{a:12,b:5},[12,5,8],8,'EcmaScript']
 
//a=3,b=8,c is not defined    对数组的解构
var [a,b]=[3,5,8];
//x=V,y=u,z=e    对字符串的结构
var [x,y,z]=Vue;
//m=10,n=20    对象的解构,对key进行拆分
var {n,m}={m:10,n:20};

 

 

 

 

字符串模板

 

 

 

 

rest参数...(3个点)

 

Map(数据结构)

//例一
   let arr=[12,5,8];
 
    let result=arr.map(item=>item*2);
 
    alert(result);
 
//例二
    let score=[19, 85, 99, 25, 90];
 
    let result=score.map(item=>item>=60?'及格':'不及格');
 
    alert(score);
    alert(result);

 

 

 

面向对象class

 

模块化

exprot default // 导出

import modA from './a.js' // 引入模块

 

 

reduce

化简函数, 从左到右依次处理序列中的元素,并返回结果

array.reduce(func),从0索引开始,依次把元素相加,结果再作为下一个迭代的第一个参数.为了便于理解,我们这样定义一下加法:
加数1+加数2=结果.
func有三个参数.
function(value1, value2, index){}
value1是当前迭代中的加数1,也是上一次迭代的返回值.
value2是当前迭代中的加数2,
index是当前迭代中加数2的索引.
return 函数处理的结果.
// 累加计算
l = [11, 22, 33, 44, 55, 66]
l.reduce(function(a,b,c){console.log(`加数1=${a}, 加数1=${b}, 索引=${c}`); return (a+b) + 1000;});
加数1=11, 加数1=22, 索引=1
加数1=1033, 加数1=33, 索引=2
加数1=2066, 加数1=44, 索引=3
加数1=3110, 加数1=55, 索引=4
加数1=4165, 加数1=66, 索引=5
5231   // 最终的处理结果.

 

some

判断函数,序列中只要一个都满足判断条件就返回真值.

array.some(func)
func 判断函数,必须返回布尔值,
其中.回调函数func有三个参数.
function(value, index, array){}
value是当前循环的值,
index是当前索引.
array是数组对象本身.

 

every
判断函数,序列中每一个都满足判断条件就返回真值.

array.every(func)
func 判断函数,必须返回布尔值,
其中.回调函数func有三个参数.
function(value, index, array){}
value是当前循环的值,
index是当前索引.
array是数组对象本身.

 

posted @ 2019-09-04 08:17  野马,程序源改造新Bug  阅读(93)  评论(0编辑  收藏  举报