day20知识点
一、正则
1.正则的读
- 技巧
- 记注所有符号 - 逐位读 -注意小括号作为一个整体 -注意中括号表示一位
- 中文 /1+KaTeX parse error: Undefined control sequence: \U at position 12: / /^[\̲U̲4E00-\U9fa5]+/
二、ES5补充:this相关。函数的方法
1.this概念:
- 当前函数的执行上下文
- 执行函数的对象
- 默认情况下:this所在的函数,被那个对象执行,this就是这个对象
2.函数的方法
- 将函数最为一个对象,身上有属性,内存储了函数
- 通过函数名.方法名()执行
- 方法
- call
- 语法:函数名.call()
- 功能:改变this指向
- 参数:参数1和后面的所有参数
- 参数1:要改变的this指向
- 后面所有参数:作为实参传到当前这次执行的函数中
- 返回值:原函数的返回值
- apply
- 语法:函数名.apply()
- 功能:改变this指向
- 参数:参数1和参数2
- 参数1:要改变的this指向、
- 参数2:数组,被当前这次执行的函数中的arguments解析
- 返回值:原函数的返回值
- bind
- 语法:函数名.bind()
- 参数:参数1和后面的所有参数
- 参数1:要改变的this指向
- 后面所有参数:作为实参传到当前这次执行的函数中
- 返回值:改变this之后的性函数,和老函数长得一样,但不是一个。不相等
三.ES5新增的常用语法
1.简单说明
- ES6:ECMAScript5的版本简称
- ES6有兼容,低版本浏览器不支持
2.新增声明关键字: let const
- let,const,export/import(ES6的模块化),class(类)
- let,const
- 基本上可以替换var ,但要注意,只身的特性
- let特性
- 不允许重复声明
- 没有提升
- 暂时性死区
- 块级作用域
- 全局没有给window
- const的特性
- 与let一致
- 标志着变量的地址不允许修改
- const只能保证,地址不被修改,但保证不了值的改变
- 但是基础类型(值),地址就是值,值就是地址,所有都不能改
- 但是复杂类型(引用),地址就是地址,值就是值,所以值可以改,地址不能改
- 总结:所有var都可以替换let,但是要注意新特性。尤其是:块级作用域
3.箭头函数: ()=>{}
- 箭头藊等同于无名函数,不能直接存在,必须作为值使用
- 且有一个参数时,小阔韩可以省略
js: var fn= a=>{ }
- 有且直接返回值,花括号和return也可以省略
js: var fn=a=>‘hello’+ a;
热点:
1. 没有自己的this,自动绑定上层函数的this
2. 省略花括号,并返回对象时需要给对象加小括号
3. 语义化极差
4. 简单,方便,体积小
- 作为参数或返回值等小范围使用,非常舒服,例
js: [12,5,6,78].sotr((a,b)=>a-b)
\u2E80-\u9FFF ↩︎