深入JavaScript Day01 - 高级语言、浏览器内核、JS引擎、V8引擎

一、认识JavaScript

1、TypeScript最近几年发展火爆,会取代JavaScript吗?

  • 【不会取代】
  • TypeScript只是给JavaScript带了类型思维,让我们编码阶段更加安全
  • TypeScript官网有这么一句话【源于JavaScript,归于JavaScript】
  • 如果有一天JavaScript官方支持类型思维后,TypeScript更有可能退出历史舞台
image.png

2、代码最终都要交给CPU执行吗?CPU只认识什么指令?有什么缺点?

  • 对的,代码最终都要交给CPU进行执行。
  • CPU执行【二进制指令】,比如【10101010】
  • 【缺点】但是存在问题【10101010】,是代表【读】还是【写】还是【其他功能】?很不利于人类记忆

3、汇编语言和二进制指令有什么关系?有什么缺点?

  • 汇编语言实际上就是二进制指令的【助记符】,它只是二进制指令的映射。
LD:10101010 
id:10101111
R:11111010
  • 这样上述指令就可以表达为 LD id R,大大增强了代码的可读性。

-【缺点】CPU只能执行三地址表达式,和人类的思维方式相差甚远。

4、高级语言的优缺点?

  • 【优点】更加符合人类的思维方式和阅读习惯
  • 【缺点】计算机并不能直接执行高级语言,需要把高级语言转化成【汇编语言/机器指令】才能执行,这个过程也叫做编译

5、JavaScript是高级语言吗?JavaScript需要转化成汇编指令吗?

  • JavaScript是高级语言
  • 基本上所有的高级语言,都会转成机器指令。而机器指令和汇编指令是一一对应的,所以这个问题意义不大。


    image.png

二、JavaScript 和 浏览器

1、从输入域名开始,描述下JavaScript代码是如何被浏览器拿到的?

  • ①域名通过DNS服务器解析,获得真实的IP地址
  • ②浏览器访问IP,拿到静态HTML文件
  • ③浏览器解析HTML,下载其中的CSS和JavaScript代码
  • ④借助JavaScript引擎,解析执行JavaScript代码

2、什么是浏览器内核?最常见的两个内核是哪两个?

  • 浏览器内核简单来说,就是处理HTML+CSS+JavaScript代码,最终生成网页的中间人。
  • 最常见的两个内核:【Webkit】、【Blink】
image.png

4、浏览器拿到HTML后,在解析HTML的过程中,如果遇到img资源会怎么处理?如果遇到css资源呢?如果遇到script资源呢?

  • 【img资源】属于非阻塞资源,浏览器会请求这些资源并且继续解析。
  • 【css资源】也属于非阻塞资源,解析也可以继续进行。
  • 【普通script资源】会阻塞渲染并停止HTML的解析,尽管浏览器的预加载扫描器加速了这个过程,但过多的脚本仍然是一个重要的瓶颈。

参考文章: https://developer.mozilla.org/zh-CN/docs/Web/Performance/How_browsers_work#%E6%9E%84%E5%BB%BAdom%E6%A0%91

5、描述浏览器拿到HTML之后,渲染过程(从HTML、CSS、JavaScript最终渲染到屏幕的过程)?

image.png

三、掌握 JavaScript引擎相关概念

1、为什么需要JavaScript引擎?常见的JavaScript引擎有哪些?

  • 【为什么】因为JavaScript是高级编程语言,CPU并不认识,需要由JavaScript引擎进行翻译。
  • 【常见引擎】JavaScriptCore、V8
image.png

2、浏览器内核和JS引擎之间是什么关系?

  • 这里我们先以Webkit内核为例,Webkit主要由两部分组成的:
  • 【WebCore】:负责HTML解析、布局、渲染等等相关的工作;
  • 【JavaScriptCore】:解析、执行JavaScript代码;
image.png

3、V8引擎本身是用什么语言编写的?V8引擎的原理(至少能说出源码、语法书、字节码、机器指令几个环节)?

  • V8是用C++编写的Google开源高性能JavaScript引擎。
image.png

4、V8的一些其他细节(用到再了解)

image.png
image.png
image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,110评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,443评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,474评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,881评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,902评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,698评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,418评论 3 419
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,332评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,796评论 1 316
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,968评论 3 337
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,110评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,792评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,455评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,003评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,130评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,348评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,047评论 2 355