复习:
1.1 JS中对象有三种:内置对象(数组Array对象、String字符串对象、RegExp正则表达式对象、Math对象)、
宿主对象(JS脚本所在的运行环境,目前我们讲的脚本在浏览器中运行,所以浏览器对象对象就是宿主对 象)、自定义对象(由大括号包裹的名值对)
对象是特性与功能的集合,特性在js中就是对象的属性,功能在js中就是对象的方法(函数);
对象调用属性和方法的方式:
对象.属性 或 对象[“属性”]
对象.方法名()
1.1 所学内置对象如下
Math对象:
用来执行数学运算;Math将自己本身作为对象
Math对象的属性:
PI 获取圆周率
Math对象的方法:
abs() 获取绝对值
max() 获取最大值
min() 获取最小值
ceil() 向上取整
floor() 向下取整
round() 四舍五入
random() 获取0-1之间的随机数
pow(x,y) 获取x的次幂
sqrt() 获取某个数的开平方根
Array对象:
存储多条数据,数组中可以存储各种数据类型的数据。
对象的创建方式:
字面量 var arr = []
new关键字 var arr = new Array();
对象的属性
constructor 获取构造函数
length 获取数组元素的个数
prototype 获取原型对象
对象的方法
concat() 拼接一个或多个数组元素
indexOf() 获取元素在数组中第一次出现索引位置
lastIndexOf() 获取元素在数组中最后一次出现的索引位置
toString() 将数组转为字符串,默认逗号隔开
join() 将数组按照指定的分隔符转为字符串,省略参数默认逗号分隔
slice() 选取指定索引之间的元素,返回新的数组
unshift() 向数组的起始位置添加一个或多个元素
shift() 删除数组中第一个元素
push() 向数组的末位添加一个或多个数组元素
pop() 删除数组中的最后一个元素
splice() 删除指定索引处指定个数的元素,并追加新的元素
reverse() 数组的反转
sort(callbackfn) 按照指定规则进行排序,默认按照ASCII码逐个比较
数组遍历
普通for循环
for...in循环
forEach(callbackfn(value,index,array))
字符串String对象
用来处理文本字符串的API
对象的创建:
字面量 var str = “”
new关键字 var str = new String()
对象的属性:
constructor 获取构造函数
length 获取字符串的长度
prototype 获取原型对象
对象的方法:
concat() 拼接一个或多个字符串
split() 将字符串按照指定分隔符切割成指定长度的数组
indexOf() 查找字符串片段在字符串第一次出现的索引位置
lastIndexOf() 查找字符串片段在字符串最后一次出现的索引位置
charAt() 获取指定索引处的字符
slice() 选取指定索引之间的字符串片段
subString() 选取指定索引之间的字符串片段
subStr() 选取指定索引处指定数量的字符串片段
toUpperCase() 将所有英文字母转换为大写
toLowerCase() 将所有英文字母转换为小写
trim() 去除字符串两边的空白
正则表达式RegExp对象
检查字符串是否符合某种规则
对象的创建方式
字面量 var patt = /匹配规则/修饰符;
new关键字 var patt = new RegExp(/匹配模式/,修饰符);
正则表达式中的方法
test() 检测某个字符串是否符合规则,返回布尔值
exec() 获取符合规则的字符串片段,第一次出现的索引,所在字符串组成的一个数组
字符串中可以使用正则表达式的方法
split() 字符串切割
search() 查找指定字符第一次出现的索引
match() 获取符合规则的字符串片段,第一次出现的索引,所在字符串组成的一个数组
如果正则表达式执行全局匹配,返回的是匹配到的值组成的数组
replace() 查找符合规则的字符串片段,并用新的字符串片段替换
修饰符
g 执行全局匹配
i 忽略大小写匹配
m 执行多行匹配
元字符 具有特殊意义的字符串
. 匹配所有的字符(除了换行符和行结束符)
\d 匹配所有的数字
\D 匹配所有的非数组
\s 匹配所有空白字符
\S 匹配所有非空白字符
......
匹配模式
[0-9] 匹配所有的数字
[A-Z] 匹配所有大写字母
[a-z] 匹配所有小写字母
[abc] 匹配中括号中任意一个字符
[^abc] 匹配中不含有括号中任意一个字符
量词
^ 以指定规则开头
$ 以指定规则结尾
{x} 匹配x个指定规则
{x,} 匹配至少x个指定规则
{x,y} 匹配x-y之间任意多个指定规则
n+ 匹配一个或多个
n* 匹配0个或多个
n? 匹配0个或者只有一个
.......
补充:小括号的作用
1) 限定选择范围
2) 限定量词范围
3) 反向引用 反向引用使用小括号编号后,可以使用RegExp.$编号获取
1 var patt = /abc/; 2 3 console.log(patt.test(‘abc‘));//true 4 console.log(patt.test(‘xyzabcuvw‘));//true 5 6 patt = /(a)(b)(c)\1\2\3/; 7 console.log(patt.test(‘abc‘));//false 8 console.log(patt.test(‘xyzabcuvw‘));//false 9 console.log(patt.test(‘xyzabcabcuvw‘));//true 10 console.log(patt.test(‘xyzabcuvwabc‘));//false 11 12 console.log(RegExp.$1); 13 console.log(RegExp.$2); 14 console.log(RegExp.$3);