JS对象以及"继承"

javascript面向对象:
 * 函数
   * Arguments对象:模拟函数重载
   * 变量的作用域:
     * 作用域:
       * 全局域
       * 函数域
     * 变量的分类:
       * 全局变量:全局域+函数域
       * 局部变量:当前函数域
     * 特殊情况:
       * 定义局部变量时,不使用var:局部变量被自动定义为全局变量
       * 当全局变量与局部变量同名时,在函数域中只能访问到局部变量
 * 闭包
   * 作用域链:变量的作用域是具有传递性的
   * 闭包:函数可以使用函数之外定义的变量
   * (了解)循环中的闭包结构
 * 对象
   * 定义对象的三种方式:
     * new Object()
     * JSON:{key:value,key:value...}
     * 函数对象(构造器):function 对象名(){this.属性名=属性值;}
   * 操作对象的属性和方法:
     * 调用:
       * 对象名.属性名(方法名)
       * 对象名['属性名(方法名)']
     * 修改:
       * 对象名.属性名 = 新的属性值;
     * 增加
       * 对象名.新的属性名 = 新的属性值;
     * 删除
       * delete 对象名.属性名(方法名)
   * 内建对象:
     * 数据封装类对象:
       * Array
       * String
         * ""        //string
     * new String() //object
       * Number
     * 工具类对象:
       * Date
         * 获取当前时间
       * Math
         * 生成随机数(0-1)
       * RegExp
         * 匹配方法:test()
     * 错误类对象:
       * Error
       * 异常对象
 * 原型
   * 定义:函数即对象,原型其实就是函数对象的一个属性。
   * 注意:
     * 原型是随着函数对象的创建而创建的(原型不能手动创建).
     * 原型的调用:函数对象.prototype.
   * 作用:
     * 利用原型为函数对象增加属性和方法.
     * 当函数对象本身的属性或方法与原型的属性或方法同名时:
       * 函数对象本身的属性或方法的优先级更高.
     * 内建对象具有一个属性:原型
       * 利用原型为内建对象增加属性或方法?可以
         * 支持:
       * 利用这种特性,使得javascript代码更灵活.
     * 反对:
       * 为老版本扩展的内容,可能出现在下一个版本中.
       * 我们站在这里.
   * 扩展内容:
     * 封装工具类 -> 库 -> 框架
     * 建议使用库,反对使用框架。
     * 浏览器内核:
       * IE浏览器:IE6.0        IE11
       * 其他浏览器:webkit(苹果)
         * 谷歌浏览器
     * 火狐浏览器
     * 苹果浏览器
       * 众多浏览器:
         * 百度浏览器:号称自主内核v5
     * 腾讯浏览器:号称自主内核x5
     * 遨游浏览器:号称自主内核
    * 不同浏览器内核集成的javascript引擎(v6)是不一样.
 * 继承问题:
     * javascript中不存在类的概念(没有class关键字).
     * javascript没有extends关键字(继承).
   * javascript中的继承是函数对象之间的继承.
     * 原型链;
   * javascript的普通对象之间存在继承吗?   实际是浅复制

原文地址:https://www.cnblogs.com/yiwangdeyidianyuan/p/5750784.html