JS高级学习历程-15

昨天内容回顾

  1. 面向对象的私有成员、静态成员

私有成员:在构造函数里边定义局部变量,就是私有成员。

静态成员:在js里边,函数就是对象,可以通过给函数对象声明成员方式声明静态成员。

  1. 原型继承

关键字:prototype

单一成员继承:  函数.prototype.成员名称= 值;

对象继承:函数.prototype = 对象;

原型链继承:许多构造函数可以一一继承,形成一个继承链条,这个链条就是“原型链”

原型链的顶端是Object,对象可以访问的属性constructor、方法 hasOwnProperty() 都是Object对象拥有的。

  1. 复制继承、冒充继承

复制继承:

函数.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();

  1. 异常

try-catch-finally

异常类型:ReferenceError  引用异常  (使用了一个未声明的变量)

RangeError   范围异常  (new  Array(-5))

TypeError    类型异常  (new  10())

自定义抛出异常:throw  {msg:’异常错误信息’,linenumber:错误行号,posnumber:错误列号};

  1. 正则的组成内容、模式修正符

组成内容:

①       普通字符

②       定义字符集 ([0-9]   [a-z]   [pwscv]  [a-zA-Z0-9])

③       特别字符集  +  *   ?    ^   $   \   |

() :小括号,设置模式表达式优先级关系

赛选子级内容出来

模式修正符:

var  reg = /模式内容/模式修正符;

i : 忽略大小写

g :  全局匹配

m : 把被匹配目标字符串当作多行处理(字符串内部有\n关键字)

时间: 2024-10-11 16:34:21

JS高级学习历程-15的相关文章

JS高级学习历程-12

冒充继承 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 2 <html> 3 <head> 4 <title>11-冒充继承</title> 5 <meta http-equiv="Content-Type"

JS高级学习历程-13

[正则表达式] \d \d\d [a-z] 什么是正则表达式:用于记录文本规则的代码 正则表达式的作用: ①       可以匹配文本,表单验证(手机号码.邮箱.qq号码) ②       赛选网页内容(网络爬虫),meijob ③       内容替换 正则表达式历史: 正则的组成内容: ①       普通字符内容 ②       组成字符 ③       特殊字符 ④       限制字符 1 正则表达式---普通字符组成 1 <!DOCTYPE html PUBLIC "-//W3

JS高级学习历程-17

[正则案例] 1 匹配手机号码 2 匹配邮箱 3 匹配ip地址 4 验证表单域信息 总结: ()小阔号模式单元重复匹配  \1  \2  \3  \n 正则组合字符组成 \d   \D    \w    \W    \s   \S    \b    \B 正则限制字符组成 {m}    {m,}   {m,n} 4. 正向.反向预查 正向匹配 :内容(?=pattern) 正向不匹配:内容(?!pattern) 反向匹配:(?<=pattern)内容 反向不匹配:(?<!pattern)内容

JS高级学习历程-16

[正则表达式] 1()小括号使用 作用:① 提高表达式优先级关系 ② 提取子字符串内容 模式单元,每个小括号都算作一个模式单元内容,按照内容的下标可以给小括号计数. var  reg = /([0-9]+)-([0-9]+)-[0-9]+/;    //2014-06-21 上边的正则模式,其中2014是模式单元1内容,06是模式单元2内容 ③       模式单元重复匹配 2 组成字符 3 限定字符 4 正向.反向预查 正向预查:查找内容在辅助条件的前边 反向预查:查找内容在辅助条件后边 注意

JS高级---学习roadmap---5 parts

JS高级---学习roadmap---5 parts part 1-3 part 4-5 原文地址:https://www.cnblogs.com/jane-panyiyun/p/12099622.html

JS高级学习路线——面向对象基础

比较传统和对象的编程方式 如何使用对象 定义两个工具包 /*产品工具包 - 保存和产品有关的工具*/ var product={ name:'iphone8', description:'各地区货源已陆续到库,我们将在十月十号左右发货,对于此次延迟发货给您带来的不便表示致歉,望您谅解.', price:6660, /*绑定元素*/ bindDom:function(){}, /*绑定事件*/ bindEvents:function(){}, /*立即购买,暂时不考虑里面的代码是如何写的*/ bu

JS高级学习总结--面向对象

一.对象的四种创建方式 1)直接量 var Student = {name:'小明',age:18}; 2)通过new关键字加Object()构造函数 var student = new Object() student.id = 10; student.name = '王铁锤'; student.age = 18; 缺点:使用同一个接口创建很多对象,会产生大量的重复代码. 3)封装工厂函数 为了减少重复代码,对上述代码进行封装 4)自定义构造函数 /* * 这种方式调用构造函数实际上会经历以下

JS高级学习路线——面向对象进阶

构造函数进阶 使用构造函数创建对象 用于创建对象 其除了是一个函数之外,我们又称之为构造对象的函数 - 简称构造函数 function Product(name,description){ //属性 this.name=name; // 属性 this.description = description //方法 又称方法属性 万物皆属性 this.buy=function(){ alert('buy') } } //会拷贝一份 var p1 = new Product() var p2 = n

PHP菜鸟学习历程-1 JS高级-34-昨天内容回顾

JS高级-34-昨天内容回顾     时间:2015-5-11 1.DOM获取元素节点 document.getElenmentById(id 属性值)                                   具体元素节点对象 document.getElenmentsByTagName(tag 标签名称 div ul li)        数组列表 document.getElenmentsByName(Name 属性值)                       数组列表 2.