六.正则表达式
1.普通字符
1.test
重点:规则要放在前面,这点有些反直觉,但要记住
2.exec
2.元字符
1.边界符
2.量词
,之间不能加空格
JavaScript进阶
1.作用域与作用域链
1.局部作用域
2.作用域链
2.垃圾回收机制
1.引用计数法(不常用)
2.标记清除法(常用)
3.闭包
闭包主要来实现外部函数使用内部函数的局部变量
重难点:return fn,意味着返回fn这个函数,fn()是调用的意思,fn是函数体,fun=fn,fun()=fn(),所以就能打印出10。
4.变量与函数的提升
1.变量提升
只有var能做到,而且变量提升并不是一个好的现象,尽量不用var。
2.函数提升
第二种报错是因为var bar=function()本质是一个变量的声明加赋值的操作,而变量的提升只提升声明,不提升赋值,所以只在全局声明了bar这个变量,也就是
var bar;
bar()
bar=function()
{
console.log('函数表达式不存在提升现象...')}
所以会报错
5.函数参数
1.arguments参数
既然是伪数组,arguments只能在函数中使用,跟伪元素有异曲同工之妙
2.剩余参数
剩余参数的返回结果是一个真正的数组。
3.展开运算符
…arr本质就是把数组元素遍历都输出,他返回的并不是数组。
展开运算符与剩余参数的区别:
剩余参数在函数参数中使用,而展开运算符在数组中使用。
6.箭头函数(重要)
1.箭头函数基本格式