ECMAScript6.0 笔记 (未完待续)

ECMAScript6.0 笔记

目录

ECMAScript6.0 笔记

新特性

变量,let和const(常量)

函数,箭头函数

解构赋值

数组

字符串

面向对象

json

Promise 

generator



新特性

let,const,箭头函数,……

变量,let和const(常量)

var 

1.可以重复声明

2.无法限制修改

3.没有块级作用域 (如函数内声明,函数外可以使用)

let 

1.不可以重复声明

2.有块级作用域

const

1.不可以重复声明

2.有块级作用域

3.限制修改

函数,箭头函数 

函数的参数
1.参数扩展/数组展开
2.默认参数

------------------------------------------------------------------------------

参数扩展:
1.收集参数
  function show(a, b, ...args){}
  *Rest Parameter必须是最后一个
2.展开数组
  ...arr    =>    1,2,3
  *展开后的效果,跟直接把数组的内容写在这儿一样

------------------------------------------------------------------------------

默认参数
$('#div1').animate({width: '200px'});
$('#div1').animate({width: '200px'}, 1000);
 

//普通函数 除a,b外的其他参数全部保存至args (使用:args[0],args[1]...)
function f1(a,b,...args){
    console.log(a,b,args);
}

//默认参数
function f2(a,b=1)
{
    console.log(a,b);
}
f2(1);  //a=1,b=1 使用默认值
f2(1,2);//a=1,b=2 使用传过来的值



//箭头函数
//eg.1
let show=(a)=>{
      alert(a);
    };
//eg.2
let show=(a)=>{return a*2;}

//如果:
//1.()——只有一个参数
//eg.1 可以写成
  let show=a=>{alert(a);}

//2.{}——只有一个return
//eg.2 可以写成
  let show=a=>a*2;

解构赋值

解构赋值:
1.左右两边结构必须一样
2.右边必须是个东西
3.声明和赋值不能分开(必须在一句话里完成)

//eg.1 普通变量赋值 
let a=1;
let b=2;
let c=3;

//eg.2 解构赋值
let [a,b,c]=[1,2,3];

/*eg.1 和 eg.2 效果是一样的。*/

//eg.3 
let [a,b,c,d]=[1,[1,2,3],'abc',{"a":1,"b":"cc"}];

数组

reduce(callback(pre,curr,index))  汇总,pre 上一次计算的结果,curr当前值,index索引

//例1 求和
let arr=[8,9,10,11,12];

let total=arr.reduce(function (pre,curr, index){
   return pre+curr;
});

console.log(total);//50


//例2 求平均数
let arr=[8,9,10,11,12];
let avg=arr.reduce(function (pre,curr, index){
   if(index==arr.length-1)
    return (pre+curr)/arr.length;
   else
	return pre+curr;
});
 
console.log(avg);//10

map(callback(item))  映射 ,item当前元素,返回与之对应的数组

//eg.1 根据arr数组 生成一个新数组result,result每个 元素是arr元素的2倍
let arr=[12,5,8];

let result=arr.map(function (item){ 
   return item*2; 
});
//也可以写成  let result=arr.map(item=>item*2);

console.log(result);

filter(callback(item)) 过滤器 item 当前值,返回true时保留当前元素,false删除当前 元素

//eg.1 显示25岁以下用户
let arr=[
  {name: 'ken', age: 36},
  {name: 'john', age: 26},
  {name: 'mei', age: 22},
  {name: 'lin', age: 18}
];

let result=arr.filter(json=>json.age<25);

console.log(result);

indexOf()

forEach()

字符串

面向对象

json

Promise 

generator

猜你喜欢

转载自blog.csdn.net/qq_33036361/article/details/81782692
今日推荐