正则表达式是一个描述字符模式的对象。
闭包就是能够读取其他函数内部变量的函数。例如在javascript中,只有函数内部的子函数才能读取局部变量,所以闭包可以理解成“定义在一个函数内部的函数“。在本质上,闭包是将函数内部和函数外部连接起来的桥梁,函数套函数。
1)Number() :Number.prototype.xxx 2)String() : String.prototype.xxx 3)Boolean():Boolean.prototype.xxx
var str="hello"; //string
console.log(str.length);
//1.new String(str) object String 自动装箱 2.new string(str).length 通过实例对象调用方法3.str-->string 自动拆箱
var num=10;
console.log(num.toString());
console.log(num.toString());
new Number():包装器函数/构造函数
var a=new Number(); a:object
Number():转换函数
var a=Number(); a:number
0:返回一个原字符串的复制字符串,不影响原字符串
1:从index开始截取,到字符串末尾结束
2:begin end 从begin开始结束到end结束,不包含end ,-1代表最后一个字符
6.substr:字符串截取0:返回一个原字符串的复制字符串,不影响原字符串
1:从index开始截取,到字符串末尾结束
2:begin num 从begin开始截取,截取num个字符
7.substring:字符串截取 同slice相像0:返回一个原字符串的复制字符串,不影响原字符串
1:从index开始截取,到字符串末尾结束
2:begin end 从begin开始结束到end结束,不包含end,当end为负数时,改变截取方向
8.indexOf():indexOf():全等比较,查找数组元素,默认从前向后查找,只找一个元素,对于找到的元素,返回元素的下标;对于找不到的元素,返回-1. 9.lastindexOf():查找数组元素,从后向前查找 10.trim():去掉字符串的前后空格,没有参数 11.toLowerCase():将字符串转换为小写 12.toUpperCase():将字符串转换为大写 13.search():搜索字符串 参数为字符串/正则表达式 找到返回下标,没找到返回-1,只能找到一个 14.replace(匹配字符串/正则表达式,插入的值):替换字符串 15.match():匹配字符串 参数字符串、正则表达式 匹配成功,返回一个匹配成功的字符串;匹配失败,返回null 16.split():分割字符,将分割后的字符组成一个数组:将字符串转换为数组1) 正则表达式字面量var pattern = /s$/;2) RegExp()构造函数var pattern = new RegExp("s$");
g global全局 例如var p1=/hello/g; RegExp("hello","g");
i ignore case不区分大小写
m multiline多行
[xyz]一个字符集合,也叫字符组。匹配集合中的任意一个字符。你可以使用连字符‘-’指定一个范围。[0-9][a-z]
[^xyz]一个反义或补充字符集,也叫反义字符组。也就是说,它匹配任意不在括号内的字符。你也可以通过使用连字符'-'指定一个范围内的字符。必须在中括号里面添加^,在中括号外添加^,是以某一字符开头。
例如 var p1=/ \d{1,5} /g; 匹配数字,最少一次,最多5次
贪婪 匹配重复字符时是尽可能多的匹配,默认{1,4}
非贪婪 匹配重复字符时是尽可能少地匹配,在待匹配的字符数量词后跟随一个问号即可
例如:{1,4}?
/a+/可以匹配一个或者多个连续的字母a,当使用“aaa”作为匹配字符串时正则表达式会匹配它的三个字符。
/a+?/可以匹配一个或者多个连续的字母a,但是尽可能少地匹配。只能匹配第一个a
使用字符 "|" 分割供选择的字符。选择项的尝试匹配次序是从左到右,直到发现了匹配项,如果左边的选择项匹配,就忽略右边的匹配项,即使它产生更好的匹配。/ab|cd|ef/ 可以匹配 "ab"或者"cd"或者"ef"
"()"作用:把单独的项组合成子表达式 以便可以像处理一个单元那样用"|""*""+""?"对单元内的项进行处理。
test: 校验字符串是否符合正则表达式模式,返回true/false
exec: 校验字符串是否有符合条件的字符串,如果有,返回数组,数组中存放的是符合条件的字符串,如果没有,返回null