首页 > 编程语言 >JavaScript 引擎,一个真实的故事(第 1 部分)

JavaScript 引擎,一个真实的故事(第 1 部分)

时间:2022-08-30 16:13:39浏览次数:96  
标签:真实 浏览器 代码 JavaScript 引擎 V8 我们

JavaScript 引擎,一个真实的故事(第 1 部分)

一个 任何使用过 JavaScript 的人都可能熟悉 V8 引擎。大多数人都知道 JavaScript 在单线程中运行并使用回调,这对于语言引擎背后的想法至关重要。另一个常见的误解是 JavaScript 是一种编译语言。

让我们在接下来的几篇文章中解决这意味着什么。

我们谈论的神秘“引擎”

好吧,如果我写一些这样的代码:

 常量 iAmHappy = true;

真的只是我们编写的一些 JavaScript。目前,我正在设置布尔值 我很开心 到它的正确值。这究竟是什么意思,计算机如何解释它?想象一下:有人递给你一台电脑,让你用中文在屏幕上显示一张花的图片。

计算机会理解你在说什么吗?不。
你刚才说的在电脑上会完全丢失。同样,如果我给你一台带有 CPU 的计算机。包含 JavaScript 的文件。我告诉它,嘿,阅读这个文件并帮助我。归根结底,计算机只知道 1 和 0。当我们给它 JavaScript 文件时,就像我对着电脑说中文,电脑说,什么?你在说什么?

另外,当人们盯着你看,好像你疯了一样,用中文对着电脑说话。结果,机器不知道 JavaScript 是什么。那么,我们如何使用 JavaScript 文件进行通信,以便计算机显示花卉图像? JavaScript 引擎是我们学习过程的初始阶段。有了这里的 JavaScript 引擎,你可以给这台机器 JavaScript 文件,这台机器会理解它并指示计算机如何显示花的照片。

这是 JavaScript 引擎的列表

谷歌引擎——V8引擎

因此,每当我们使用引擎时,我们都可以将 JavaScript 文件传递​​给它。引擎理解这个 JavaScript 文件,允许它与机器、计算机通信,并指示它执行我们要求它使用 JavaScript 执行的操作。这些引擎现在由程序员创建。

例如,V8 引擎是用 C++ 编写的。但是为什么这些引擎会被创造出来呢?谈到 JavaScript,2008 年是历史上的分水岭,因为 Google 发布了 V8。以前,大多数浏览器都使用极其原始的引擎,这意味着 JavaScript 有点慢。谷歌,你看,有这个问题。他们有一个叫做谷歌地图的程序。

您可能知道,谷歌地图相当耗电。它支持多种功能。谷歌地图在浏览器中的速度非常慢,因为它具有询问方向、放大和缩小甚至可能使用街景等功能。而谷歌,作为一个搜索引擎,更希望每个人都使用他们的搜索引擎,这就是他们开发浏览器的原因:增加他们的市场份额。

所以他们使用谷歌地图和他们自己的 Chrome 浏览器并想,嗯。 V8 引擎将是我们自己创建的 JavaScript 引擎。因此,JavaScript 现在在浏览器中的执行速度比以前快得多。他们还在 2008 年发布了 V 8。但对我们来说,这里的主要收获是非常聪明的人在这些引擎上工作,以确保我们的 JavaScript 在浏览器、服务器或任何类型的计算机上尽可能快地执行。由于这些引擎的工作,JavaScript 对我们来说每天都变得越来越快。

但是,这台了解 JavaScript 的神奇机器内部究竟是什么?它读取我们的代码然后执行它。

标签:真实,浏览器,代码,JavaScript,引擎,V8,我们
From: https://www.cnblogs.com/amboke/p/16639723.html

相关文章

  • Javascript解构赋值
    Javascript解构赋值解构赋值语法是一种Javascript表达式。通过解构赋值可以将属性/值从对象/数组中取出,赋值给其他变量引用链接语法vara,b,rest;[a,b]=[......
  • B/S端界面控件DevExtreme JavaScript—全新的UI模板库 (v22.2)
    DevExtreme拥有高性能的HTML5/JavaScript小部件集合,使您可以利用现代Web开发堆栈(包括React,Angular,ASP.NETCore,jQuery,Knockout等)构建交互式的Web应用程序,该套件附带功能......
  • 你对 JavaScript 中的变量了解多少?
    你知道多少JavaScript中的变量?昨天,当我搞砸了变量时,我正在研究我的开尔文天气项目。该项目需要声明许多变量以将温度程度从一个更改为另一个。因此对于像我这样的Roo......
  • Javascript 中的内存引用
    Javascript中的内存引用Photoby哈里森布罗德本特on不飞溅在本文中,我将尝试通过一个示例练习来解释Javascript中的内存引用是如何处理的,我认为这可以更好地展示......
  • 个人对 JavaScript 闭包的理解
    作用域的概念同级作用域在一个作用域中声明相同名称的变量会发生变量名冲突的问题。假如在作用域A中声明一个变量a,作用域B也声明一个变量a,两个作用域的变量都互不......
  • .NET 开源工作流: Slickflow流程引擎高级开发(十) -- BpmnJS流程设计器集成
    前言:在Slickflow产品开发过程中,前端流程设计器经历了几个不同的版本(jsPlumb,mxGraph等),目的是为了在设计流程时的用户体验更加良好,得到客户的好评和认可。BpmnJS流程设......
  • tp+javascript 输入框/绑定邮箱
    添加数据库and绑定邮箱!!! 实现效果:  数据库设计:CREATETABLE`o_my_resume`(`id`int(11)NOTNULLAUTO_INCREMENT,`name`varchar(255)NOTNULLCOMM......
  • 我在 Rust 中的第一个真实代码
    我在Rust中的第一个真实代码每种语言都始于游乐场。你可以在那里做一些令人惊奇的事情,但它们就像邻近的儿童沙饼一样令人惊奇。一旦你从操场进入“做一些真正的事情”,......
  • javascript中的constructor
    1.使用constructor   constructor是Object类型的原型属性,它能够返回当前对象的构造器(类型函数)。利用该属性,可以检测是否复合类型数据的类型,如对象,数组和函数等。v......
  • 20 行代码!带你快速构建基础文本搜索引擎 ⛵
    ......