正则
1. 正则的读
https://tool.oschina.net/uploads/apidocs/jquery/regexp.html
ES5补充 - this相关,函数的方法
复习this
- 概念:当前函数的执行上下文
- 执行函数的对象
- 默认情况下:this所在的函数,被哪个对象执行,this就是这个对象
函数的方法
- 关于称呼
- 没有归属的函数,叫函数
- 有归属对象的函数,叫方法
- 函数的方法
- 将函数作为一个对象,身上有属性,内存储了函数
- 通过函数名.方法名()执行
- 将函数作为一个对象,身上有属性,内存储了函数
- 方法
-
call
- 语法:函数名.call()
- 功能:改变this指向
- 参数:参数1和后面所有参数
- 参数1:要改变的this指向
- 后面所有参数:作为实参传到当前这次执行的函数中
- 返回值:原函数的返回值
-
apply
- 函数名.apply()
- 功能:改变this指向
- 参数:参数1和参数2
- 参数1:要改变的this指向
- 参数2:数组,被当前这次执行的函数中的arguments解析
- 返回值:原函数的返回值
-
bind
- 函数名.bind()
- 功能:改变this指向
- 参数:参数1和后面所有参数
- 参数1:要改变的this指向
- 后面所有参数:作为实参传到当前这次执行的函数中
- 返回值:改变了this之后的新函数,和老函数长得一样,但不是一个
-
只要会用即可,但其实,妙用无穷
- 基础篇:https://www.jianshu.com/p/0a6655dbf420
- 扩展篇:https://www.jianshu.com/p/a6f26c3756fe
-
ES6新增的常用语法
-
简单说明
- ES6:ECMAScript6的版本的简称
- ES6有兼容,低版本浏览器不支持,其实兼容问题已经很小了
- ES6已经大面积流行使用,上线之前会利用工程化工具,将ES6的语法编译成ES5的语法
-
新增声明关键字 - let,const
- let,const,export/import(ES6的模块化),class(类)
- let,const
- 基本上都可以替换var,但是要注意,自身的特性
- let的特性
- 不允许重复声明
- 没有提升
- 暂时性死区
- 块级作用域
- 全局没有给window
- const的特性
- 与let一致
- 标志着变量的地址不允许修改
- const只能保证,地址不被修改,保证不了值的改变
- 但是基础类型(值),地址就是值,值就是地址,所有都不能改
- 但是复杂类型(引用),地址就是地址,值就是值,所以值可以改,地址不能改
- 总结
- 所有的var都可以替换成let,但是要注意新特性
- 尤其是:块级作用域
- 所有的var都可以替换成let,但是要注意新特性
-
箭头函数:()=>{}
- 箭头函数等同于无名函数,不能直接存在,必须作为值使用
- 有且只有一个参数时,小括号可以省略
var fn = a=>{ console.log(a) };
- 有且直接返回值,花括号和return也可以省略
var fn = a=>"hello "+a;
- 特点:
- 没有自己的this,自动绑定上层函数的this
- 省略花括号,并返回对象时需要给对象加小括号
- 语义化极差
- 简单,方便,体积小
- 作为参数或返回值等小范围使用,非常舒服,如
[67,13,36,1,35].sort((a,b)=>a-b);