JS历史、浏览器发展、JS基本介绍

89 阅读5分钟

JS历史、浏览器发展、JS基本介绍

目录

一、浏览器发展史

二、ECMA介绍

三、JavaScript基本介绍

前言:为什么要再战JS

  • 答:因为学到Vue2发现自己JS基础不太够

  • 整个前端开发,JS、HTML、CSS中,JS要占85%,作为前端菜鸡,我深知JS的重要性

  • 而整个JS大家庭中(包含框架),Vue、React、Node.js、jQuery等中,原生JS要占85%

  • 总结:不学好JS基本上不可能干好前端

一、浏览器发展史

五大主流浏览器

  • IE:trident 内核
  • chrome:webkit blink 内核
  • safari :webkit 内核
  • firefox :gecko 内核
  • Opera:presto 内核
  • (ps:Edge浏览器是微软的但用的是chrome的内核所以不提)

浏览器历史和JS诞生重要年份表

1990年
  • 浏览器诞生,李爵士:超文本分享资讯的人,开发了world wide web,后来移植到C语言变成了 lbwww/nexus
  • 这个技术可以允许别人浏览他人编写的网站
1993年
  • 对于前端非常有意义的一年
  • 美国伊利诺大学的NCSA组织的一名成员:马克·安德森
  • 他开发了Mosiac 浏览器,可以显示图片,这是第一款图形化浏览器,目前市面所有浏览器都被Mosiac所影响
1994年
  • 马克·安德森和SGI公司的吉姆·克拉克成立了Mosiac Communication Corporation
  • 后因商标侵权,改名为Netscape
  • 这一年网景公司发行的Netscape Naigator浏览器 一直流行到2003年
1996年(1)
  • 微软收购了Spy glass 拥有了Mosiac公司的商标使用权
  • 在Mosiac公司的基础上开发了IE浏览器(Internet exploror)1.0 内核是Mosiac
  • 同一年发布了IE3,是浏览器有了脚本Jscript,和JS干的一样的事
1996年(2)
  • 网景公司的布兰登在NetScape·Navigator网景导航者的基础上开发了LiveScript脚本语言
  • 同一年Java火起来了,网景公司的LiveScript不温不火,于是网景公司和拥有Java的Sun公司合作,共同推广宣传产品,LiveScript变成了JavaScript
2001年
  • IE6和Windows XP的诞生,出现了JS引擎
  • 原本的浏览器解析JS是在渲染引擎里的,所以性能极差,微软把解析JS的部分从渲染引擎抽离出来,形成了单独的JS引擎
2003年
  • Mozila公司发布firefox浏览器
  • firefox浏览器的开发是通过Netscape Navigator 发布源码,然后复制了源码而开发出来的
2008年
  • google 基于 Webkit Blink 开发了chrome 浏览器
  • 后来google公司 为chrome 开发出了 V8引擎(JS引擎)
  • Node.js就是基于V8引擎运行的
    • V8引擎可以直接翻译机器码
    • V8引擎独立于浏览器运行
2009年
  • 甲骨文公司Oracle 收购了 Sun公司
  • 也就是说JS和Java的所有权都属于甲骨文公司,Java和JavaScript有了同一个妈

二、ECMA

ECMA全称是European Computer Manufactures Association(欧洲计算机制造联合会)

  • 总部设立在日内瓦,因为瑞士是永久中立国,比较安全和稳定
  • ECMA是评估、开发、认可电信、制定计算机标准的机构
  • ECMA-262 是脚本语言的规范(ECMAScript)
  • ES5、ES6是规范化脚本语言

编程语言

  • 编程语言是高级语言,人能理解但机器不理解
  • 机器理解0和1,所以需要把高级语言翻译成机器能理解的语言
  • 编程语言分为编译型语言和解释型语言

编译型语言

  • 翻译过程为:源码 -> 编译器 -> 机器语言 -> 可执行的文件
  • 编译型语言需要跨平台移植,但相比于解释型语言运算速度要快些,所以它更适合做大型项目的开发

解释型语言

  • 翻译过程为:源码 -> 解释器 -> 解释一行执行一行
  • 解释型语言不需要根据不同系统平台进行移植,只要有解释器就能执行

脚本语言

  • 脚本语言不光只有前端有,后端也有PHP也属于脚本语言
  • 执行方式是通过脚本引擎再给解释器再执行

微软的脚本语言

asp.net

  • 微软的小白式开发框架,基本上拖拖拖就能开发网页
  • 00年以后很多只做静态展示的公司官网很多都是用asp.net开发的

JScript

  • 只支持IE浏览器,凉了很久了,基本没人用

Vbscript

  • 语法反人类,用的人也很少了

三、JavaScript基本介绍

三大部分

ECMAScript

  • JS里最难的一部分
  • 知识点有语法、变量、关键字、保留字、值、原始类型、引用类型、运算、对象、继承等

DOM 文本对象模型

  • 全称:document object model
  • 遵循W3C的规范

BOM 浏览器对象模型

  • 全称:browser object model
  • 没有规范,因为市面上浏览器很多,比如IE的规范和V8引擎的规范就不同

关于线程

JS是单线程

  • 单线程的特点只能同时运行一个程序(JS引擎)
  • 多线程的特点是可以同时运行多个程序
  • 但JS也能同时运行多个程序

模拟多线程

  • JS可以模拟多线程,通过轮转时间片的方式,短时间内轮流执行多个任务片段
  • 比如有任务一和任务二
  • JS引擎会切分任务一和任务二
  • 随机排流这些任务片段,组成队列
  • 按队列顺序将任务片段送进JS线程
  • JS线程执行一个又一个的任务片段
  • 因为执行间隔人的肉眼无法分辨,所以算模拟多线程