做衣服网站有哪些,资源搜索,怎么建设手机网站,县政府网站建设情况总结目录
1.面向对象的特征
2.面向对象的继承方式
3.正则表达式
3.1如何创建正则表达式
3.2边界符
3.2[ ]方括号
3.3正则表达式中相关的方法汇总 1.面向对象的特征
封装性#xff1a;就像是把东西放在一个密封的盒子里一样#xff0c;只让外部使用者通过指定的接口来访…目录
1.面向对象的特征
2.面向对象的继承方式
3.正则表达式
3.1如何创建正则表达式
3.2边界符
3.2[ ]方括号
3.3正则表达式中相关的方法汇总 1.面向对象的特征
封装性就像是把东西放在一个密封的盒子里一样只让外部使用者通过指定的接口来访问盒子里的东西而不需要知道盒子里具体是怎么实现的。这样做可以保护内部数据让代码更容易维护和重用。继承性就像家族中的父子关系一样子对象可以继承父对象的特性。这样可以避免重复编写相似的代码并且可以对父对象的行为进行修改或扩展。多态性就像一个词可以有多种不同的含义一样同一个方法可以在不同的对象上产生不同的行为。这样可以让代码更有弹性适应不同的情况。
2.面向对象的继承方式 (1)原型链的方式来实现继承 子构造函数.prototypeObject.create(父构造函数.prototype); 子构造函数.prototype.constructor子构造函数名; (2)借用构造函数 父构造函数.call(this,实参1,实参1,...); 3组合继承 父构造函数.call(this,实参1,实参1,...); 子构造函数.prototypeObject.create(父构造函数.prototype); 子构造函数.prototype.constructor子构造函数名; 4寄生式组合继承 在寄生式组合继承中我们通过借用构造函数来继承属性并通过原型链的混合形式来继承方法。这样可以避免组合继承中调用两次父类构造函数的问题提高性能和代码复用性
// 定义父类
function Animal(name) {this.name name;
}Animal.prototype.sayName function() {console.log(My name is this.name);
};// 定义子类
function Dog(name, breed) {Animal.call(this, name); // 借用构造函数继承属性this.breed breed;
}// 寄生式继承原型链
function inheritPrototype(subType, superType) {var prototype Object.create(superType.prototype); // 创建父类原型的副本prototype.constructor subType; // 修正constructor指向subType.prototype prototype; // 将子类的原型指向父类的原型副本
}inheritPrototype(Dog, Animal); // 继承Dog.prototype.sayBreed function() {console.log(I am a this.breed);
};// 创建实例
var myDog new Dog(Buddy, Golden Retriever);
myDog.sayName(); // 输出My name is Buddy
myDog.sayBreed(); // 输出I am a Golden Retriever5寄生式继承
在寄生式继承中我们会创建一个用于封装和增强已有对象的函数然后返回这个新对象。这个函数会向对象添加额外的功能而不会直接修改原有对象。
// 原始对象
var originalCar {make: Toyota,model: Corolla,year: 2020,displayInfo: function() {console.log(this.year this.make this.model);}
};// 寄生式继承的函数
function createNewCar(original) {var newCar Object.create(original); // 创建原对象的副本// 增强对象添加新属性newCar.color blue;// 增强对象添加新方法newCar.displayColor function() {console.log(The color of the car is this.color);};return newCar; // 返回增强后的对象
}// 创建新的增强对象
var myCar createNewCar(originalCar);
myCar.displayInfo(); // 输出2020 Toyota Corolla
myCar.displayColor(); // 输出The color of the car is blue3.正则表达式
正则表达式就是一种用来匹配字符串中字符组合的模式正则表达式也是一个对象那个。在JavaScript中主要于在表单验证。在学习过程中我们并不需要记忆大量的正则表达式只需要记忆大部分字符的含义即可在后续使用到正则表达式时可以直接进行搜索然后拿别人写好的来用即可。
3.1如何创建正则表达式
有两种创建正则表达式的方式推荐使用第二种。修饰符只有三个i不区分大小写g全局查找m多行查找修饰符是不分顺序的可以写一个也可以写多个。
1格式var pattnew RegExp(规则修饰符);
注意括号内的正则表达式规则和修饰符都需要加上引号而且在使用到类似于\d的字符时需要进行转义写为\\d。
2格式字面量创建 var parr/规则/修饰符
3.2边界符
在正则表达式中边界符通常用来提示字符所处的位置大部分情况下我们会将^和$搭配来使用比较精确。 边界符 说明 ^ 表示匹配行首的文本以谁开始 $ 表示匹配行尾的文本以谁结束
3.2[ ]方括号
方括号内可以写入一个或者多个字符也可以写入一个区间然后查找时只需要包括其中一个就返回true。 表达式 描述 [abc] 查找方括号之间的任何字符。只要包含有a 或者 包含有b 或者包含有c 都返回为true [^abc] 查找任何不在方括号之间的字符。(方括号内部加上 ^ 表示取反只要包含方括号内的字符都返回 false 。) ^[abc]$查找只包含abc其中一个字母开头并结尾的字符( 三选一 只有是a 或者是 b 或者是c 这三个字母才返回 true ) [0-9] 查找任何从 0 至 9 的数字。 [a-z] 查找任何从小写 a 到小写 z 的字符。 [A-Z] 查找任何从大写 A 到大写 Z 的字符。 [A-z] 查找任何从大写 A 到小写 z 的字符。 [adgk] 查找给定集合内的任何字符。 [^adgk] 查找给定集合外的任何字符。(方括号内部加上 ^ 表示取反只要包含方括号内的字符都返回 false 。) (red|blue|green) 查找任何指定的选项。
3.3正则表达式中相关的方法汇总
test检验字符串中指定的值返回true或falseexec检验字符串中指定的值。返回找到的值并确定其位置search()检索与正则表达式相匹配的值match()找到一个或多个正则表达式的匹配replace()替换与正则表达式匹配的子串split()把字符串分割为字符串数组