1. apply, call, bind方法
作用:修改this指向
用法:apply:
函数名.apply(对象,[参数1,参数2...])
对象.方法名. apply(对象,[参数1,参数2...])
call:函数名.call(对象,参数1,参数2...)
对象.方法名.call(对象,参数1,参数2...)
----
调用时就修改了this指向
bind:
函数名.bind(对象, 参数1,参数2...)
ff();
var ff=对象.方法名.bind(对象,参数1,参数2....)
ff();
----
bind复制了函数,然后重新调用
2.高阶函数: 将函数作为参数或返回值使用
闭包: 函数A中有一个函数B (对象B),函数B (对象B)可以访问函数A中的数据,那么此时就形成了闭包
沙箱:黑盒,一个模拟的环境-----匿名函数的自调用
正则表达式
1.正则表达式:也叫规则表达式, 按照-定的规矩组成的一个表达式----主要是来匹配字符串的
正则表达式的组成:由元字符或者限定符组成的一个式子
1.元字符=========================================
1.1.--- 表示除厂换行符以外的任意一个字符'111' ’, ”
1.2 []--- 表示范围:
[0-9]:表示0~9之间任意一个数字 "123 ’'534'
[a-z]:表示a到之间任意一个字母'你好吗xixi'
[A-Z]:表示A到之间任意一个字母
[a-z A-Z]:所有的字母中任意-一个
[1-8]:表示1到8之间任意-一个数字
---表示把正则表达式中的元字符的意义取消掉
[.]:表示一个,
1.3 |或者
[0-9]|[a-z]: 要么是一个数字,要么是一个小写的字母
1.4()---分组,提高优先级
[0-9]/([a-z]):先(),在其他
([0-9])([a-z]):两个组,从左往右开始计算
2.又是元字符,又是限定符================================ :
2.1 *----表示前面的表达式出现o次或者多次
[a-z][0-9]* :任意一个小写字母,后面要么0个数字要么多个数字
2.2 +---- 表示前面的表达式出现了1次或者多次
[a-z][0-9]+任意一个小写字母,后面至少出现一个数字
2.3 ?---- 表示前面的表达式出现了0次或者1次
[3][a-z]?3,后面出现一个字母,或者一次也不出现
----阻止贪婪模式
3.限定符==============================================
3.1 {n}-----限定前面的表达式出现n次
{0,}-----表示前面的表达式出现了0次或者多次---和*一样
{1,}----表示前面的表达式出现1次或者多次---和+ - -样
{0,1}----表示前面的表达式出现0次或者1次
{3,7}----表示前面的表达式出现3次到7次
错误的写法: {,10};
4. ------以什么开始
^[0-9]:以数字开头
^[a-z]:以字母开头
一-;--一-.取反
[^0-9]:表示非数字
[^a-z]: 表示非小写字母
5.----以什么结束
[0-9]$:表示一定要以数字结尾
^[0-9]$: 严格模式
6.
\d:任意一个数字 [0-9]
\D:任意非数字 字母,特殊符号
\s:空白符
\s:非空白符
\w:非特殊符号数字,字母,下划线[0-9a-zA-Z_ ]
\W:特殊字符
,。.?...