1. 五大主流浏览器及其内核

浏览器 内核
IE trident
Chrome webkit blink
Safari webkit
Firefox gecko
Opera presto
Edge ChromiumBlink

2. 浏览器的历史

2.1 1990

  1. 蒂姆 · 伯纳斯 · 李 -> 超文本咨询分享
  2. 开发了world wide web浏览器,后移植到C语言平台,更名为libwww/nexus
  3. 意义:允许别人浏览他人编写的网站

    2.2 1993 ✔

  4. 美国伊利诺大学NCSA组织(马克 · 安德森)

  5. MOSIAC浏览器 -> 显示图片
  6. 意义:图形化浏览器

    2.3 1994 ✔

  7. 马克安德森 & 吉姆克拉克(硅图SGI)

  8. 成立 MOSIAC communication corporatin 公司
  9. 商标权:MOSIAC -> 伊利诺大学 -> spy glass公司
  10. 因为商标权而改名Netscape communication corporatin
  11. 网景公司 -> Netscape navigator -> 2003

    2.4 1996 ✔

  12. 微软公司收购了spy glass -> IE internet exploror 1.0

  13. IE3 -> script -> JScript -> 使网页有动态交互
  14. 网景公司的 Brendan eich 在 NETSCAPE NAVIGATOR 开发出了 livescript
  15. JAVA流行 -> 网景公司与SUN合作推广livescript,更名为JavaScript

    2.5 2001

  16. IE6&XP系统诞生 -> JS引擎诞生

    2.6 2003

  17. mozilla公司 Firefox -> 根据netscape navigator的开源代码制作

    2.7 2008 ✔

  18. Google 基于 WEBKIT BLINK GEARS -> Chrome -> V8引擎 -> JS引擎

    1. 直接翻译机器码
    2. 独立于浏览器运行
  19. PROGRESSIVE WEB APP -> 渐进式WEB APP

    2.8 2009

  20. 甲骨文oracle收购SUN公司 -> JS的所有权归oracle

    3. ECMA

  21. ECMA:European Computer Manufactures Association -> 欧洲计算机制造联合会

  22. 意义:评估、开发、认可电信、计算机标准
  23. 规范:ECMA - 262 -> 脚本语言的规范

    1. ECMAScript
      1. ES5、ES6
      2. 意义:规范化脚本语言

        4. 编程语言

        4.1 编译型

  24. 过程:源码 -> 编译器 -> 机器语言 -> 可执行的文件

    4.2 解释性

  25. 过程:源码 -> 解释器 -> 解释一行就执行一行

  26. 优点:不需要根据不同的系统平台进行移植
  27. 脚本语言

    1. -> 脚本引擎 -> 解释器
    2. 前后端皆有

      4.3 jscript、vbscript、C#、asp

  28. 微软开发:

    1. jscript(弃用)
    2. vbscript
    3. C#
  29. asp

    1. 企业官方网站大量使用
    2. 优点:开发简易、模板式开发

      4.4 与标记语言的区别:

  30. 编程语言拥有:

    1. 变量
    2. 数据结构
    3. 函数
    4. 运算能力

      5 JavaScript

      5.1 学习方向:

  31. ECMAScript

    1. 语法、变量、关键字、保留字、值、原始类型、引用类型运算、对象、继承、函数
  32. DOM -> document object model
    1. 规范:W3C
  33. BOM -> browser bject model

    1. 规范:无

      5.2 线程:

  34. 单线程 -> 模拟多线程

    1. 轮转时间片
      1. 短时间之内轮流执行多个任务的片段
        1. 任务1、任务2
        2. 切分任务1、任务2
        3. 随机排列任务片段并组成队列
        4. 按照队列顺序将任务片段送进js进程
        5. js线程按顺序执行任务片段

          5.3 引用:

  35. 外部引用:

    1. <script type="text/javascrtipt" src="js/XX.js"></scrpit>
  36. 内部引用:

    1. <script type="text/javascrtipt">
    2. JS代码
    3. </scrpit>
    1. 内外部同时引用,将会执行外部文件
    2. 写多个内部引用并不冲突

      5.4 声明

  37. 关键字:var -> variable -> 变量

    1. 单一声明方式

      1. var a = 1,
      2. b = 2;
    2. 重复赋值:覆盖

    3. 变量命名规范:
      1. 可以使用字母_$数字
      2. 不能以数字开头
      3. 可以以字母_$开头
      4. 不能使用关键字、保留字
      5. 语义化
      6. 小驼峰
        1. 首字母小写

          5.5 值

  38. 原始值

    1. 基本类型
      1. Number
      2. String
      3. Boolean
        1. true | false
      4. undefined
      5. null
        1. 空值
        2. 初始化组件和函数、销毁函数、占位
  39. 引用值
    1. object
    2. array
    3. function
    4. date
    5. RegExp
  40. 动态语言 -> 脚本语言 -> 解释型语言 -> 弱类型语言
  41. 静态语言 -> 编译型语言 -> 强类型语言