JavaScript引擎和运行时

news2024/11/28 5:44:49

什么是一个JavaScript引擎

JS引擎
执行JS代码的程序
例如比较出名的就是GOOGLE的V8引擎,当然其他浏览器也有各自的引擎

在这里插入图片描述

JS引擎一般会有两部分组成,一个是调用栈,一个是堆;
调用栈就是我们代码实际执行的地方,而堆是对象存储的地方,内存中的对象都存储在那里;
那我们知道调用栈是执行代码的地方的,那它是如何将代码转换为机器代码的呢?

计算机科学旁注,编译and解释

汇编:整个代码被立即转换成机器码,并写入一个二进制文件,可由电脑执行。
在这里插入图片描述

解释:解释器在原代码中运行,并逐步执行
在这里插入图片描述

在最开始,JS就是一种纯解释性语言,解释型语言最大的确定就是比编译语言会慢很多!但是现在的JavaScript已经并不是一种单纯的解释型语言了,是一种混合型的

即时(JIT)编译:整个代码立即转换成机器码,然后立即执行。
在这里插入图片描述

Javascript的现代即时编译

在这里插入图片描述
在这里插入图片描述

JavaScript运行时

在这里插入图片描述
在这里插入图片描述

JavaScript运行时(JavaScript runtime)是指用于执行JavaScript代码的环境或平台。它提供了JavaScript语言的解释器和其他必要的工具,使得JavaScript代码能够在计算机上运行。

常见的JavaScript运行时包括:

  1. 浏览器环境:浏览器是最常见的JavaScript运行时环境之一。每个现代浏览器都内置了JavaScript引擎,如Google Chrome的V8引擎、Mozilla Firefox的SpiderMonkey引擎等。浏览器环境提供了与DOM(文档对象模型)和BOM(浏览器对象模型)交互的能力,使得JavaScript可以操作网页内容、处理用户事件等。
  2. 服务器环境:Node.js是一个流行的JavaScript运行时环境,它基于Chrome的V8引擎,并提供了一些额外的API和模块,使得JavaScript可以在服务器端运行。Node.js允许开发者构建高性能的服务器应用程序,处理网络请求、访问数据库等。
  3. 移动应用环境:一些移动应用开发框架,如React Native和Ionic,使用JavaScript作为开发语言,并提供了特定的JavaScript运行时环境,使得JavaScript代码可以在移动设备上运行。
  4. 嵌入式环境:JavaScript运行时还可以嵌入到其他应用程序中,例如桌面应用程序、游戏引擎等。通过嵌入JavaScript运行时,开发者可以在自己的应用程序中执行JavaScript代码,实现一些定制化的功能。

无论在哪种JavaScript运行时环境中,JavaScript代码的执行都遵循一定的规则和机制,包括变量作用域、函数调用、事件循环等。开发者可以利用JavaScript运行时提供的API和功能,编写出丰富的应用程序。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1166590.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

云DR数据、应用程序和硬件的紧急备份恢复

云很方便,但是需要做好紧急备份恢复工作。 什么是云容灾(Cloud DR)? 云灾难恢复或简称云 DR 是指数据、应用程序和硬件的紧急备份策略,与传统方法不同,它依赖于云中的存储。 发生故障时,受影响的数据、应用程序和其他资源可以一键从云端恢复,以便尽快恢复业务。 服务提…

BIOS开发笔记 - CMOS

CMOS原来指的是一种生产电子电路的工艺,在PC上一般指的是RTC电路单元,因为早期它是由这种工艺生产出来的,所以又把RTC称作了CMOS。 RTC(Real Time Clock)即实时时钟,用于保存记录时间和日期,也可以用来做定时开机功能。RTC靠一组独立的电源给它供电,这样设计的目的就是…

【音视频 | Ogg】libogg库详解介绍以及使用——附带libogg库解析.opus文件的C源码

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…

Charles小白新手入门教程

最近系统地重温了下Charles的各种功能,根据小破站上百里老师的讲解,做了一些笔记,对于Charles入门小白,多少会有点帮助, 下面就把分享给大家~ 一、Charles介绍 1、Charles简介 是基于http和https的代理服务器。 2、…

【windows Docker镜像占用许多空间:将数据迁移到D盘】

查看其占据的空间 导出数据到D盘 首先退出docker C:\Users\lxh>wsl --shutdownC:\Users\lxh> C:\Users\lxh>wsl --export docker-desktop-data docker-desktop-data.tar 正在导出,这可能需要几分钟时间。 操作成功完成。C:\Users\lxh> C:\Users\lxh&g…

探讨安科瑞智慧型动态无功补偿的工业应用-安科瑞 蒋静

摘要:低压配电系统的无功补偿是电能质量治理的重要环节。在传统无功补偿中,响应速度较慢,补偿电流呈阶梯式,存在过补或欠补的现象,有时未必能到达理想的效果。为了解决这一问题,人们提出了一种无功补偿综合…

三篇文章了解计算机网络(小白篇)

目标 三篇文章(小白,入门,进阶),由浅入深理解计算机网络 适宜人群 小小白、无计算机网络基础,非技术人员,网络兴趣爱好者 内容简介 本文不谈技术,不谈理论,通过我们…

Sulfo-CY5 NHS荧光染料的生物应用2230212-27-6星戈瑞

Sulfo-CY5 NHS ester是一种用于生物学和生物医学研究中的荧光染料,它在生物应用方面具有许多重要用途,包括但不限于以下几个方面: **生物标记:**Sulfo-CY5 NHS ester可以与生物分子(如抗体、蛋白质、核酸等&#xff09…

【Python Numpy】修改数组形状

文章目录 前言一、什么是NumPy数组形状?二、NumPy改变数组形状的方法2.1 reshape方法2.2 resize方法2.3 flatten方法2.4 ravel方法2.5 transpose方法 三、关于修改数组形状更多的示例代码总结 前言 NumPy(Numerical Python)是Python中用于处…

活跃气氛神器小程序源码系统 带完整搭建教程

在现代社会,人们越来越注重社交和娱乐,而各种聚会和活动更是人们日常生活中的重要组成部分。然而,如何在聚会中创造出轻松愉悦的气氛,让参与者更好地相互了解和交流,一直是活动组织者面临的难题。正是在这样的背景下&a…

Galaxybase全面支持国密算法

万物互联时代,图技术作为底层技术基座,赋能企业关联全域数据,充分激活数据资产价值,受到社会和国家的关注。而随着图技术在各行业的落地和应用,图技术如何保障关联数据的安全,成为重点议题。 在此背景下&a…

SQL语法实践(一)

文章 原文链接 实践 CREATE TABLE friend(fid INT NOT NULL,NAME VARCHAR(10) NOT NULL,age INT NOT NULL,adress VARCHAR(10) )SHOW TABLES; SELECT * FROM friend; SELECT fid,NAME FROM friend;INSERT INTO friend VALUES(1,Jack,18,Tianjing); INSERT INTO friend VALUE…

[Machine Learning][Part 8]神经网络的学习训练过程

目录 训练过程 一、建立模型: 二、建立损失函数 J(w,b): 三、寻找最小损失函数的(w,b)组合 为什么需要激活函数 激活函数种类 二分法逻辑回归模型 线性回归模型 回归模型 训练过程 一、建立模型: 根据需求建立模型,从前面神经网络的…

VMware 虚拟机安装 CentOS 7

CentOS 7 1. 下载CentOS 7 iso镜像 Index of /centos/7.9.2009/isos/x86_64/ 2. Vmware安装CentOS 7 安装教程: 超详细VMware CentOS7(最小安装)安装教程_虚拟机最小化安装-CSDN博客 【精选】VMware 安装 Centos7 详细过程_vm虚拟机安装centos7_expectation Fu…

AI:49-基于深度学习的杂草识别

🚀 本文选自专栏:AI领域专栏 从基础到实践,深入了解算法、案例和最新趋势。无论你是初学者还是经验丰富的数据科学家,通过案例和项目实践,掌握核心概念和实用技能。每篇案例都包含代码实例,详细讲解供大家学习。 📌📌📌本专栏包含以下学习方向: 机器学习、深度学…

JumpServer开源堡垒机与万里安全数据库完成兼容性认证

近日,中国领先的开源软件提供商FIT2CLOUD飞致云宣布,JumpServer开源堡垒机已经与万里安全数据库软件GreatDB完成兼容性认证。针对产品的功能、性能、兼容性方面,经过双方共同测试,万里安全数据库软件(简称:…

如何搭建稳定独享的美国IP?优质美国静态住宅代理IP哪里有?

相信很多做跨境电商或外贸如TikTok shop、Facebook商店、Amazon、领英的玩家都需要搭建独享的美国IP环境来运营店铺,那么如何搭建稳定独享的IP环境呢?加下来为你详细介绍,并为你优质的美国静态住宅代理IP,助力您的跨境业务。 一、…

ROS分布式演练,多台设备进行通信的配置

1、概述 前面我们做的操作都是在单个设备上进行,也就是分别开启多个终端,在不同终端上启动节点等相关操作,这里我们使用两台设备来控制,一台虚拟机和一台无人车(使用VNC Viewer连上去,也可以看做一台Linux虚拟机) VNC…

算法:Java构建二叉树并迭代实现二叉树的前序、中序、后序遍历

先自定义一下二叉树的类: // Definition for a binary tree node. public class TreeNode {int val;TreeNode left;TreeNode right;TreeNode() {}TreeNode(int val) { this.val val; }TreeNode(int val, TreeNode left, TreeNode right) {this.val val;this.left…

【优选算法系列】【专题六模拟】第一节.1576. 替换所有的问号和495. 提莫攻击

文章目录 前言一、替换所有的问号 1.1 题目描述 1.2 题目解析 1.2.1 算法原理 1.2.2 代码编写二、提莫攻击 2.1 题目描述 2.2 题目解析 2.2.1 算法原理 2.2.2 代码编写总结 前言 一、替换所有的问号 1.1…