20200915冯佳丽
学习日志
正则表达式
常用字符集
预定义字符集
\d
匹配一位数字,等效于 [0-9]
实例:手机号规则简写
结果:1[3-8]\d\d\d\d\d\d\d\d\d
\w
匹配一位数字、字母或_,等效于 [A-Za-z0-9_]
\s
匹配一位空字符,空格,制表符Tab等空白字符
实例:匹配一句英文中的每个空格
结果:\s
.
通配符,匹配除换行符 \n 之外的任何单字符,换行符平时看不见,但却是存在的
非打印字符
\b
匹配单词的开始或结束
\n
匹配一个换行符。等价于 \x0a 和 \cJ
\s
匹配任何空白字符,包括空格、制表符、换页符等等
注意 Unicode 正则表达式会匹配全角空格符
\S
匹配任何非空白字符
\t
匹配一个制表符tab
\f
匹配一个换页符
\v
匹配一个垂直制表符
\r
匹配一个回车符
数量词
有明确数量边界
字符集{n} 字符集{n,m} 字符集{n,}
没有明确边界
字符集?
可有可无,最多一次,相当于{0,1}
\d?
字符集*
可有可无,多了不限,相当于{0,}
\d*
字符集+
至少一次,多了不限。相当于{1,}
\d+
\s+
匹配字符串中的一组连续空字符
选择和分组
选择
子规则1|子规则2 | 选择符只分左右,不考虑单个字符
RegExp
创建RegExp:
1、字面量
var reg=/正则表达式/ig var reg=new RegExp("\d{11}","ig");
2、new
var reg=new RegExp("正则表达式","ig"); var reg=new RegExp("\d{11}","ig");
RegExp API
- 查找关键词
var arr=reg.exec(str)
- 验证
test()
-
重新编译正则表达式
compile()
面向对象
三大特征:
封装、继承、多态
创建一个单独的对象
1、使用对象字面量
语法:
var obj={
属性名1 : 属性值1,
属性名2 : 属性值2,
... ,
方法名(){
this.属性名
}
}
案例:
var zs={
name:"张三",
age:18,
introduce(){
console.log(`我叫${this.name},我的年龄是${this.age}`)
}
}
console.log(zs.introduce())
2、使用内置构造函数
创建一个空对象 {}
var obj=new Object();
为新对象添加新属性
(1)obj.属性名=属性值
(2)obj.方法名=function(){
this.属性名
}
var zs=new Object();
zs.name="张三";
zs.age="18";
var sex=Math.floor(Math.random()*2);
if(sex===1){
zs.sex="男"
}else{
zs.sex="女"
}
zs.say=function(){
console.log(`
我叫${this.name},年龄${this.age}
`)
}
console.log(zs.say())
克隆实例:
//***** 克隆对象****
// 克隆
var zs={
name:"张三",
age:18,
height:188,
say(){
console.log(this.name)
}
}
//克隆体
var zsClone={}
//开始克隆
for(var key in zs){
zsClone[key]=zs[key]
}
console.log(zsClone)
console.log(zs===zsClone)//false
console.log(zs.say===zsClone.say)//true
构造函数
使用构造函数
优点:点代码重用
1、定义构造函数
function 类型名(形参1,形参2,形参3...){
this.属性名1=形参1;
this.属性名2=形参2;
this.属性名3=形参3;
/*
// JS中强烈不推荐将方法定义在构造函数中
this.方法名=function(){
this.属性名
}
*/
}
2、使用new调用构造函数
var obj=new 类型名(属性值1,属性值2,...)
实例:
// 练习:使用构造函数,定义一个汽车的构造函数
function Car(color,size,type){
this.color=color;
this.size=size;
this.type=type;
this.run=function(){
console.log("正在运行...")
}
}
// 原型对象
// Car.prototype.run=function(){
// console.log("正在运行...")
// }
var car=new Car("红","大","CS7103")
console.log(car)
console.log(car.color)
console.log(car.run())
学习感受
练习加理解!
评论