JS高级学习历程-15
昨天内容回顾
- 面向对象的私有成员、静态成员
私有成员:在构造函数里边定义局部变量,就是私有成员。
静态成员:在js里边,函数就是对象,可以通过给函数对象声明成员方式声明静态成员。
- 原型继承
关键字:prototype
单一成员继承: 函数.prototype.成员名称= 值;
对象继承:函数.prototype = 对象;
原型链继承:许多构造函数可以一一继承,形成一个继承链条,这个链条就是“原型链”
原型链的顶端是Object,对象可以访问的属性constructor、方法 hasOwnProperty() 都是Object对象拥有的。
- 复制继承、冒充继承
复制继承:
函数.prototype.extend = function(obj){
遍历obj对象,把这个obj的成员都复制一份给当前的对象cat
}
var cat = new 函数();
cat.extend(对象);
冒充继承:
function f1(){}
function f2(){
f1.call(this); //通过这种方式把f1函数来执行一次,并且其内部的this被当前对象dog冒充。
}
var dog = new f2();
- 异常
try-catch-finally
异常类型:ReferenceError 引用异常 (使用了一个未声明的变量)
RangeError 范围异常 (new Array(-5))
TypeError 类型异常 (new 10())
自定义抛出异常:throw {msg:’异常错误信息’,linenumber:错误行号,posnumber:错误列号};
- 正则的组成内容、模式修正符
组成内容:
① 普通字符
② 定义字符集 ([0-9] [a-z] [pwscv] [a-zA-Z0-9])
③ 特别字符集 + * ? ^ $ \ |
() :小括号,设置模式表达式优先级关系
赛选子级内容出来
模式修正符:
var reg = /模式内容/模式修正符;
i : 忽略大小写
g : 全局匹配
m : 把被匹配目标字符串当作多行处理(字符串内部有\n关键字)