JavaScript是何以工干的:伸擎、运转时及调用栈概

日期:2019-08-27 / 人气: / 来源:原创

  注:本文翻译己网上的文字,原文地址:https://blog.sessionstack.com/how-does-javascript-actually-work-part-1-b0bacc073cf

  跟遂JavaScript越到来越流行壹代,团弄队在多个层面对其终止了顶持 - 前端、后端、混合运用以次、嵌入式设备等等。

  本文是系列文字的第壹篇,旨在深募化切磋JavaScript及其工干方法:我们认为经度过了松JavaScript的构建块以及它们何以工干,您将却以编写更好的代码和运用。

  如GitHut统计中所示,JavaScript在GitHub中的活触动代码库和尽铰递送量方面位居前列,在其他类佩也不落后。

  image

  假设项目越到来越依顶赖于JavaScript,此雕刻意味着开辟人员必须使用言语和生态体系供的所拥有情节,深募化了松外面部,从而构建出产令人惊叹的绵软件。

  雄心证皓,拥有很多开辟人员每天邑在运用JavaScript,但并不知道底儿子层会突发什么。

  信直每团弄体邑曾经耳闻度过V8伸擎此雕刻个概念,父亲微少半人邑知道JavaScript是骈线程的,容许它运用回调队列。

  在此雕刻篇文字中,我们将详细伸见所拥有此雕刻些概念,并说皓JavaScript是何以运转的。 经度过了松此雕刻些底细,您将却以编写更好的、匪闭塞的运用以次,正确使用所供的API。

  假设您对JavaScript比较陌生,此雕刻篇文字将僚佐您了松为什么JavaScript与其他言语比较比较“怪异”。

  假设您是壹位阅历厚墩墩的JavaScript开辟人员,期望此雕刻篇文字却认为您供壹些关于JavaScript运转时是何以工干的全新观点。

  壹个流行壹代的JavaScript伸擎的例儿子是Google的V8伸擎。 比如,在Chrome和Node.js中运用的坚硬是V8伸擎。 下面是壹个信募化了的V8视图:

  image

  伸擎由两个首要组件结合:

  内存放堆 - 此雕刻是内存放分派突发的中调用堆栈 - 此雕刻是代码实行时的堆栈帧

  阅读器中拥有信直所拥局部JavaScript开辟者邑运用费过API(比如“setTimeout”)。 条是,此雕刻些API不是由伸擎供的。

  这么,他们从哪里到来?

  雄心世界拥有点骈杂。

  image

  因此,摒除了伸擎,还愿上还拥有更多,比如那些被阅读器供的称为Web API的东方正西,如DOM,AJAX,setTimeout等等。

作者:locoy


  • 友情链接:
  • 澳门金沙官网
  • 日博
  • 365体育在线手机版
  • 新2足球网址
  • 澳门新葡京官网
  • Go To Top 回顶部