站内搜索:
首页 >> 前端 >> 内容
ECMAScript6(ES6)

时间:2017/9/2 9:27:00

ECMAScript6(ES6)

1 变量的声明

1.1 let:代码块内的变量声明

1)变量声明不会提升;
2)块级作用域;
3)let不允许相同作用域内多次声明同一变量。

1.2 const:常量声明

1)声明后无法修改值;
2)块级作用域;
3)const不允许相同作用域内多次声明同一变量。

2 解构赋值

ES6允许我们对数组和对象中提取值,对变量进行赋值,这被叫做“解构”。

解构赋值时,可用var,let,const来声明变量或常量。

解构只能用于数组和对象,如果解构不成功,变量会返回undefined,但如果对undefined和null解构则会报错。

2.1解构赋值简介

2.1.1 数组的解构赋值

1)var [a,b,c] = [1,2,3] //a=1,b=2,c=3

2)var [a,[[b],c]] = [10,[[20],30]] //a=10,b=20,c=30

3)var [a,...b] = [1,2,3,4] //a=1,b=[2,3,4];...表示剩余参数

2.1.2 对象的解构赋值

1)var {a,b}={a:’html’,b:’css’};
2)变量必须与对象属性名相同,否则为undefined;
3)如果变量名与属性名不相同,则必须写成以下格式才能取到值。
var {a:test} ={a:'html',b:'css'} //test=>html

2.1.3解构失败

var [a]=[],[b]=1,[c]='jiegou',[d]=false //a,b,c,d都得到undefined。

2.1.4指定默认值

var [a=true]=[]

var {a=10} = {}

2.2 解构赋值的用途

2.2.1交换变量值

var [x,y] = [y,x];

2.2.2函数返回多个值

function example(){

return [1,2,3]

}

//接收

var [x,y,z] = example();

2.2.3定义函数形参(重点)

函数的参数定义方式, 不用再考虑参数的顺序。

function test({x,y,z}){}

//传参

test({x:10,y:20,z:30})

//参数可以设置默认值

fuction test({x=10,y=20,z}){}//x的默认值为10,y的默认值为20,z没有默认值

3字符串扩展

3.1字符串方法

3.1.1 includes

判断是否包含某个字符,返回布尔值。

'html5'.includes('html');//true

3.1.2 startsWith/endsWith

是否以某一字符开头/结尾。

let str='google';

str.startsWith('g'); //true

str.endsWith('le'); //true

3.1.3 repeat(n)

得到字符串重复n次后的结果,n可以为小数,但不能为负数。

'laoxie'.repeat(2);//laoxielaoxie

3.2字符串模板,使用反引导`表示(重点)

你可以通过一种更加美观、更加方便的方式向字符串中插入变量
格式:${变量|函数},

模板字符串中所有的空格、新行、缩进,都会原样输出在生成的字符串中。

document.addEventListener('DOMContentLoaded',function(){

var datalist = document.querySelector('.datalist');

var data = [

{

guid:1,

name:'李白',

age:18,

poem:'床前明月光'

},

{

guid:2,

name:'杜甫',

age:19,

poem:'杜甫很忙'

},

{

guid:3,

name:'lemon',

age:19,

poem:'言多必失'

}

];

var ul = document.createElement('ul');

ul.innerHTML = data.map(function(item){

/*return '

  • 上一篇:跨站点脚本XSS攻击介绍
  • 下一篇:百度搜索实现代码
  • 返回顶部