es6基础

es6教程:
目录
es6教程: 1
ES5扩展内容: 1
es6语法: 3

因为vue和react很多底层都是es6实现的所以学习react和vue之前有必要学习一下es6。
Es5是09年发布的es6是15年发布的之后几乎每一年发布一个版本的es,但是由于时间间隔比较短,很多功能不一定能够实现,但是es6基本已经实现了甚至现在的es8都有很多实现了。

ES5扩展内容:
Es5严格模式:
减少浏览器的怪异行为,和js设计的一些不合理之处为未来的js做好铺垫。
使用use strict
严格模式的约束:
必须使用var定义声明变量。
禁止自定义的函数中的this指向window
创建eval的作用域。(执行字符串中的js代码)
对象不能有重名的属性。

JSON对象的扩展:
只有对象JSON和数组JSON

Object扩展:
Object.create(prototype,[description])
已指定对象为原型创建一个新的对象。
为新的对象指定新的属性,并对属性进行描述
value属性的值
writable表示当前属性是否可以被修改默认是false
configurable表示当前属性是否可以被删除默认是false
Enumable标识当前属性是否能用for in枚举默认为false

Object.defineProperties(object,descriptors)
为指定对象定义新的属性。
当这个属性被调用时自动执行get方法,当这个属性传入改变值是set()方法被调用(监听调用)get()set()这里面是惰性求值,当对它修改的时候才会显示出来。
Object.defineProperties(object,fullname{
Get:function(){
Return this.firstname+this.lastname;
}
Set:function(data){
Var names=data.split(‘ ’);
This.firstname=names[0];
This.lastname=names[2];
}
})
对象本身有两个方法:
Get propertyName(){}用来得到当前属性的回调函数
Set propertyName(){}用来监视当前属性变化的回调函数
数组的扩展:
Array.prototype.indexOf(value):得到值在数组中第一个下标
Array.prototype.lastIndexOf(value):得到值在数组中最后一个下标
Array.prototype.forEach(function(item, index){}):遍历数组返回加工之后的值。
Array.prototype.map(function(item,index){}):遍历一个数组返回一个新的数组。
Array.prototype.filter(function(item,index){}):遍历过滤出一个子数组返回条件为true

函数内容的扩展:
// Function.prototype.bind(obj)
// 作用是将函数内的this绑定为obj,并将函数返回

// bind()和call()、apply()的区别
// 都能绑定this
// call、apply是立即调用函数
// bind是将函数返回

call是第一参数是函数后面的参数依次传入函数中
apply第一个参数是函数后面的参数一次以数组的方式传入函数。
bind绑定完this之后不会立即调用这个函数而是将函数返回如果调用的话传入的是之前绑定的函数而不是这个被绑定的对象。
Var bar = foo.bind(obj)
Bar()调用的是这个obj对象而不是bar

Bind非常重要有时候已经定义的函数,不需要立即执行的时候使用,比如需要定义绑定的定时器。

es6语法:

Let用法:
作用和var类似,用于声明一个变量
特点:
在块作用域中有效
不能重复声明
不会预处理,不存在提升
应用:
循环遍历加监听
使用let代替var的趋势

Const关键字:
作用:
定义一个常量
特点:
不能去修改
其他功能同let
应用:
保存不能改变的数据;

解构赋值:
可以使用变量构成的对象对对象中的值进行解构赋值。
左侧的对象的属性被附上右侧的对象同名属性的值(按同名接受)
右侧有这个同名属性就附上,没有左侧值就是undefined

数组也是可以解构赋值的:
不过它是按照下标取值。可以通过空出来位置解构赋值。
const arr = [1, 2, 5, 4, 6]
const [a, b, c, d, e] = arr
console.log(a, b, c, d, e)
const [, , f, g] = arr
console.log(f, g)

模块字符串:
简化字符串的拼接
模板字符串必须使用包含
变化的部分使用 定 义 用 法 : 很 长 的 u r l 的 话 可 以 不 使 用 拼 串 只 是 用 一 个 ‘ ‘ 中 变 量 用 { }定义 用法:很长的url的话可以不使用拼串只是用一个``中变量用 ur

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值