1.JavaScript学习笔记——JS简介

JS发展史

1. Web发展史

Mosaic(马赛克),是互联网历史上第一个获得普遍使用和能够显示图片的网页浏览器。于1993年问世。

而后,Netscape Navigator, Internet Explorer以及Mozilla firefox等,其早期版本皆以Mosaic为基础而开发。

2. js历史

JavaScript作为Netscape Navigator浏览器的一部分首次出现在1996年。它最初的设计目标是改善网页的用户体验。

起初Javascript被命名为LiveScropt,后因网景公司和Sun公司合作,因市场宣传需要,改名为JavaScript。JavaScript和Java没有任何关系,之所以命名相似只是因为当时的联合宣传需求。

3. 浏览器组成

  1. Shell部分:指浏览器的外壳,例如菜单,工具栏等。主要是提供给用户界面操作,参数设置等等。它是调用内核来实现各种功能的。
  2. 内核部分:内核是基于标记语言显示内容的程序或模块。也有一些浏览器并不区分外壳和内核。 从Mozilla将Gecko独立出来后,才有了外壳和内核的明确划分。目前主流的浏览器有IE6、IE8、Mozilla、FireFox、Opera、Safari、Chrome、Netscape等。

内核部分,分为:

  • 渲染引擎(语法规则和渲染)
  • JS引擎
  • 其他模块

谷歌浏览器的优化后JS引擎可以将JS代码直接转化为机械码来执行,进而以速度快而闻名。

4. 主流浏览器:(内核)

  1. IE: Trident
  2. Firefox: Gecko
  3. Chrome: Webkit(以前和苹果合作时用的内核)/Blink(现在的内核)
  4. Safari: Webkit
  5. Opera: Presto(以前)/Blink(现在的内核)

5. JS的逼格

5.1 解释型语言

(不需要编译成文件)跨平台

关于编译型语言和解释型语言

  • 有的编程语言要求必须提前将所有源代码一次性转换成二进制指令,也就是生成一个可执行程序(Windows 下的 .exe),比如C语言、C++、Golang、Pascal(Delphi)、汇编等,这种编程语言称为编译型语言,使用的转换工具称为编译器。
  • 有的编程语言可以一边执行一边转换,需要哪些源代码就转换哪些源代码,不会生成可执行程序,比如 Python、JavaScript、PHP、Shell、MATLAB 等,这种编程语言称为解释型语言,使用的转换工具称为解释器。
  • java由于JVM虚拟机的存在,不能单纯的将java划分到编译型或解释型语言
    .java -> javac -> 编译 -> .class -> jvm -> 解释执行

编译型语言和解释型语言的优点和不足

  • 编译型语言
    优点:快
    不足:移植性不好(不可跨平台)

  • 解释型语言
    优点:跨平台
    不足:稍慢

5.2 单线程

js引擎是单线程的

5.3 ECMA标注

为了统一规格,JavaScript兼容ECMA标准,因此也称为ECMAScript.

现在的JS被认为由ES、BOM、DOM三大部分组成,其中ES是JS原生的部分,浏览器提供的是BOM和DOM

6. JS执行队列

JS引擎是单线程的,是通过 “轮转时间片” 来模拟多线程的。

轮转时间片:短时间内轮流执行多个任务的片段。

将多任务切片,再随机组合成执行队列,执行后由于视觉残差而造成多任务同时执行的错觉。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值