JavaScript - 浏览器 简单介绍 线程

 

一、浏览器历史和js的诞生

  1. 1990年 世界上第一个浏览器WorldWideWeb(后改为Nexus) 由 Tim Berners-Lee 创建于欧洲核子物理实验室;同时他还写了第一个网页服务器httpd。世界上第一条http: //info. cern. ch/于1991年8月6日上网。
  2. 1993年 美国伊利诺大学  厄巴纳-香槟分校的NCSA组织发表NCSA Mosaic,简称Mosaic。是互联网历史上第一个获普遍使用和能够显示图片的网页浏览器。并于1997年1月7日正式终止开发和支持。
  3. 1994年 Netscape 网景公司  开发netscape navigator浏览器。 
  4. 1996年 微软公司 IE 开发出internet exploror 1.0,之后IE3中脚本语言 即 Jscript 。同年网景公司Brendan eich基于netscape navigator 开发出了livescript,之后因当时Java流行,便和Sun公司合作 改名javascript。
  5. 2001年 IE6 XP诞生 出现了JS引擎。
  6. 2003年 mozilla公司 firefox浏览器发布。 
  7. 2008年 google【顺带一提 progerssive web app(渐进式web app)技术】基于webkit ,blink, gears 开发出 chrome浏览器  使用 V8引擎 (JS引擎):1.直接翻译机器码 ;2.独立于浏览器运行。
  8. 2009年 甲骨文oracle收购了Sun公司,得到javascript版权。

二、浏览器内核

浏览器内核
IEtrident ,又称MSHTML,微软内核。是微软窗口操作系统windows搭载的网页浏览器,也是IE的排版引擎。IE内核相对其他内核是最开放的,接口设计相对最为成熟,对外部程序支持最好,这也是IE外壳的浏览器最多的原因之一。IE背靠windows大树一度占据浏览器市场的绝对优势,微软也很长时间没有更新trident内核,导致Trident内核几乎与W3C标准脱节,也是的大量的bug等安全性问题涌现,给了后起之秀很多机会。
chromeblink (webkit的一个分支),是一个由Google和Opera Software开发的浏览器排版引擎,Google计划将这个渲染引擎作为Chromium计划的一部分,并且在2013年4月的时候公布了这一消息。在Chrome(28及往后版本)、Opera(15及往后版本)和Yandex浏览器中使用。
safariwebkit,苹果公司自己的内核。
firefoxgecko,也称壁虎,火狐内核。Gecko核心设计的相对成熟,在无法获取源码的情况下,开放程度仅次于IE。由于其本身Open Source。实际上是目前开发程度最好的浏览器。Firefox的扩展能够给浏览者带来完全不同的浏览体验。
operapresto,是一个由Opera Software开发的浏览器排版引擎,供Opera 7.0及以上使用。该款引擎的特点就是渲染速度的优化达到了极致,也是目前公认网页浏览速度最快的浏览器内核,然而代价是牺牲了网页的兼容性。

三、ECMA 欧洲计算机制造联合会 

  1. European Computer Manufacturers Association
  2. 旨在建立统一的电脑操作格式标准--包括程序语言和输入输出的组织,评估,开发,认可电信 计算机标准。

四、编程语言

  1. 分为编译型和解释型
  2. 编译型 过程:源码->编译器->机器语言->可执行的文件 【速度比解释型快】
  3. 解释型 过程:源码->解释器->解释一行就执行一行        【不需要根据不同的系统平台进行移植】
  • 动态语言 = 脚本语言 = 解释型语言 = 弱类型语言;(注:不绝对)
  • 静态语言 = 编译型语言 = 强类型语言;(注:不绝对)

五、脚本语言

  1. 前端-javascript(客户端脚本),后台-PHP(服务端脚本)
  2. 其它:微软 (可了解原时代asp ,.net 开发企业网站) - jscript  vbscript  ,actionscript

六、javascript学习三大块

  1. ECMAscript
  2. DOM - document object model
  3. BOM - browser object model

七、线程

 javascript引擎为单线程,但可以模拟多线程。这其中有一个概念,轮转时间片:短时间之内轮流执行多个任务的片段

  1. 假设有任务1,任务2
  2. 切分任务1和任务2
  3. 随机排列这些任务片段,组成队列
  4. 按照这个队列顺序将人物片段送进JS线程
  5. JS线程执行一个又一个的任务片段
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值