20200915岳浩天

知识总结

正则表达式

格式

var reg=/正则表达式/ig

var reg=new RegExp("正则表达式","ig");

当正则表达式需要动态生成是用new

RegExp API

查找关键词:exec( )

var arr=reg.exec(str)查找内容又查找位置,在str中查找下一个满足reg要求的关键词

exec做三件事:
将本次找到的关键词,放入数组第0个元素,将每个分组的子内容放入后续元素

修改数组的index属性,记录本次找到关键词的位置

修改 reg.lastIndex属性 = index+关键词的长度

找出全部关键词:var arr=null;
while((arr=reg.exec(str))!=null){
arr[0]; // 查找到的完整关键词
arr[n]; // 第n个分组的子内容
arr.index; //本次找到关键词的位置
reg.lastIndex; //下次开始查找的位置
}

如果只获得某个分组的子内容

while(reg.exec(str)!=null){
RegExp.$n; //第n个分组的子内容
}

验证text( )

提示:test() 方法用于检测一个字符串是否匹配某个模式,如果字符串中含有匹配的文本,则返回 true,否则返回 false

test()方法的问题:test默认,只要部分匹配就返回true

解决方法:只要验证,正则都要 前加 ,后加 $,表示从头到尾完全匹配

重新编译正则表达式compile()

面向对象

万物皆对象

面试:简述面向对象的三大特征(尽量详细)

方法 & 函数 的区别
相同点
都是function
不同点
独立于任何对象之外的,单独存在的function,称为函数
保存在对象内的function,才称为方法

封装

使用构造函数创建对象时 函数名称首字母大写

使用构造函数创建对象:

优点:代码重用

问题:无法节约内存,放在构造函数中的方法定义,每new一次,都会创建函数对象副本

心得

今天学习了正则表达式、面向对象的一部分,在讲面向对象概念时举了几个生动形象的例子,简单易懂。

评论