《JavaScript语言精髓》读书笔记(2)

第五章 继承

js是一门基于原型的语言,这意味着对象直接从其他对象继承。

  • 伪类

  • 对象说明符

  • 原型

  • 函数化
    一个函数化构造器的伪代码模板:
    var constructor = function (spec, my) {
    var that,其他的私有实例变量;
    my = my || {};

      把共享的变量和函数添加到my中
    
      that = 一个新对象;
    
      添加给that的特权方法
    
      return that;  
    }
    
  • 部件

第六章 数组

  • 数组字面量
  • 长度
    length属性的值是这个数组最大整数的属性名加1。它不一定等于数组里属性的个数。
  • 删除
    delete运算符删除数组元素后,原位置会留下undefined。
  • 枚举
  • 判断一个对象是否数组
    var is_array = function (value) {
    return Object.prototype.toString.apply(value) === '[object Array]';
    }
  • 方法
  • 指定初始值
    js数组不会预设值,也没有多维数组。

第七章 正则表达式

  • 标识
    g: 全局
    i:大小写不敏感
    m:多行
  • 正则表达式因子
    ^会匹配文本的开始,$会匹配文本的结束,.会匹配除结束符外任何字符。
  • 正则表达式转义
    \d 等同于[0-9],\D则相反。
    \s 代表空白,\S则相反。
    \w 等同于[0-9A-Z_a-z],\W则相反。
    \1 是指向分组1所捕获的文本的引用。 \2、\3以此类推。
  • 正则表达式分组
    1.捕获型
    2.非捕获型,有个(?:前缀。
    3.向前正向匹配(Positive lookahead)
    4.向前负向匹配(Negative lookahead)
  • 正则表达式字符集
    [!-/:-@[-`{-~]
  • 正则表达式量词
    ?等同于{0, 1},*等同于{0,},+等同于{1,}。

你可能感兴趣的:(《JavaScript语言精髓》读书笔记(2))