JS核心之ES6应用基础(一)

let变量声明

let是ES6中提出的一种声明变量的方式,在一定条件下代替var使用。

let新特性

  1. 阻止了声明提前
  2. 添加了块级作用域
  3. 在相同作用域内,禁止多次声明

模板字符串

`..${}..` 

模板字符串用来更方便的拼接字符串,代替""+…+"",${}内为变量,有返回值的函数或者简易语句,但禁止直接放置程序结构

箭头函数

声明函数的缩写,用来创建匿名函数。

function(){...} => ()=>{...}

匿名函数的()中可以添加形参列表,当列表中只有一个形参时**()可省略**,当函数体中只有一则语句时大括号可省略,此时这则语句会被自动return
箭头函数会改变函数内部的this指向,使得内部this与箭头函数外的this一致。
这个特性一定程度上限制了箭头函数的使用,比如事件处理函数中如果使用箭头函数,就无法使用this指向触发元素,影响运行。
箭头函数中无法使用arguments获得参数。

for of

for(var elem of 数组){
	//of会依次取出数组中每个元素值,保存在of前的变量elem中
 }

注:for of 无法获得元素位置

for of在使用范围上优于forEach,forEach只能遍历索引数组,而for of可用于字符串及类数组对象。

  • for of:遍历数字下标的数组,类数组对象,字符串。直接取值。
  • for in:遍历自定义下标的关联数组和对象,取下标名。
  • forEach:只能遍历索引数组。

参数增强

ES6中对函数的参数进行增强,为参数的使用提供了更多方式。

剩余参数

在多态=>重载中我们讲过arugments中保存着函数传入的参数列表 ,我们可以用此获得参数传入,但是此方法获得的参数列表是无序的类数组形式,无法与形参一一对应,也无法使用数组函数。

默认参数

function fun(形参1, ..., 形参n=默认值){...}

ES6允许为函数的最后一个参数提供默认值,以作为参数传入值不足的备选值,如果实参数量与形参相等,则最后一个参数使用传入的值,如实参小于形参不等,最后一个形参无值传入,则使用备选值,也就是等号后的默认值

注:带默认值的参数只能有一个且只能是最后一个。

默认值也可以在函数体中使用JS添加,如:

形参n=形参n||默认值

当形参存在时,短路效应使得公式返回形参被赋予的值,当形参不存在时,程序向后执行返回默认值。

剩余参数

剩余参数可完全代替arugments,剩余参数实际上是在形参的末尾加一个数组,超出形参列表长度的实参会存储在数组中。

function fun(形参1, 形参2,...数组名){
		//即使将fun改为箭头函数,依然可以使用...数组名的rest语法
}

数组前的…是收集的意思,不可以被打散。
…可以视为参数和零散元素的转换符,在数组打散中也会遇到。

数组打散

有时参数会存在一个数组中,这时我们依次调用数组元素传入显得太笨重,ES6为此给出了新方案。

Math.max(...arr2)

此时的…是将数组拆分成元素对应形参传入的含义。

解构

解构是从整体中抽取需要的数据的过程。

数组解构

数组解构可以将数组中的每个元素对应成一个变量存储起来。

var arr = [15,26];
//传统方法
var a = arr[0];
var b = arr[1];
//数组解构
[a,b] = arr;

数组解构形式为;

[变量1,变量2,...] = 数组

对象解构

对象解构与数组解构等同。

{属性名1:变量1, 属性名2:变量2, ... } = 对象

属性与方法都可通过对象解构成为全局变量/函数,解构时,等号前不必要写全部属性/方法,只要将需要的部分写上即可,程序通过属性名为后面变量赋值
对象解构中,变量名默认为对应的属性名,如一组“属性名:变量名”中,省略了“:变量名”,则默认为对应的属性名作为赋值后的全局变量名。
在传参时也可使用对象解构的方法,在实参中使用对象传入,形参中设置解构语法,将对象的值转变为变量。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值