一、浏览器历史和js的诞生
- 1990年 世界上第一个浏览器WorldWideWeb(后改为Nexus) 由 Tim Berners-Lee 创建于欧洲核子物理实验室;同时他还写了第一个网页服务器httpd。世界上第一条http: //info. cern. ch/于1991年8月6日上网。
- 1993年 美国伊利诺大学 厄巴纳-香槟分校的NCSA组织发表NCSA Mosaic,简称Mosaic。是互联网历史上第一个获普遍使用和能够显示图片的网页浏览器。并于1997年1月7日正式终止开发和支持。
- 1994年 Netscape 网景公司 开发netscape navigator浏览器。
- 1996年 微软公司 IE 开发出internet exploror 1.0,之后IE3中脚本语言 即 Jscript 。同年网景公司Brendan eich基于netscape navigator 开发出了livescript,之后因当时Java流行,便和Sun公司合作 改名javascript。
- 2001年 IE6 XP诞生 出现了JS引擎。
- 2003年 mozilla公司 firefox浏览器发布。
- 2008年 google【顺带一提 progerssive web app(渐进式web app)技术】基于webkit ,blink, gears 开发出 chrome浏览器 使用 V8引擎 (JS引擎):1.直接翻译机器码 ;2.独立于浏览器运行。
- 2009年 甲骨文oracle收购了Sun公司,得到javascript版权。
二、浏览器内核
浏览器 | 内核 |
---|---|
IE | trident ,又称MSHTML,微软内核。是微软窗口操作系统windows搭载的网页浏览器,也是IE的排版引擎。IE内核相对其他内核是最开放的,接口设计相对最为成熟,对外部程序支持最好,这也是IE外壳的浏览器最多的原因之一。IE背靠windows大树一度占据浏览器市场的绝对优势,微软也很长时间没有更新trident内核,导致Trident内核几乎与W3C标准脱节,也是的大量的bug等安全性问题涌现,给了后起之秀很多机会。 |
chrome | blink (webkit的一个分支),是一个由Google和Opera Software开发的浏览器排版引擎,Google计划将这个渲染引擎作为Chromium计划的一部分,并且在2013年4月的时候公布了这一消息。在Chrome(28及往后版本)、Opera(15及往后版本)和Yandex浏览器中使用。 |
safari | webkit,苹果公司自己的内核。 |
firefox | gecko,也称壁虎,火狐内核。Gecko核心设计的相对成熟,在无法获取源码的情况下,开放程度仅次于IE。由于其本身Open Source。实际上是目前开发程度最好的浏览器。Firefox的扩展能够给浏览者带来完全不同的浏览体验。 |
opera | presto,是一个由Opera Software开发的浏览器排版引擎,供Opera 7.0及以上使用。该款引擎的特点就是渲染速度的优化达到了极致,也是目前公认网页浏览速度最快的浏览器内核,然而代价是牺牲了网页的兼容性。 |
三、ECMA 欧洲计算机制造联合会
- European Computer Manufacturers Association
- 旨在建立统一的电脑操作格式标准--包括程序语言和输入输出的组织,评估,开发,认可电信 计算机标准。
四、编程语言
- 分为编译型和解释型
- 编译型 过程:源码->编译器->机器语言->可执行的文件 【速度比解释型快】
- 解释型 过程:源码->解释器->解释一行就执行一行 【不需要根据不同的系统平台进行移植】
- 动态语言 = 脚本语言 = 解释型语言 = 弱类型语言;(注:不绝对)
- 静态语言 = 编译型语言 = 强类型语言;(注:不绝对)
五、脚本语言
- 前端-javascript(客户端脚本),后台-PHP(服务端脚本)
- 其它:微软 (可了解原时代asp ,.net 开发企业网站) - jscript vbscript ,actionscript
六、javascript学习三大块
- ECMAscript
- DOM - document object model
- BOM - browser object model
七、线程
javascript引擎为单线程,但可以模拟多线程。这其中有一个概念,轮转时间片:短时间之内轮流执行多个任务的片段
- 假设有任务1,任务2
- 切分任务1和任务2
- 随机排列这些任务片段,组成队列
- 按照这个队列顺序将人物片段送进JS线程
- JS线程执行一个又一个的任务片段