框架中的纯运行时、运行时+编译时、纯编译
文章类型:Javascript
发布者:hp
发布时间:2023-05-06
设计框架时,主要有纯运行的、运行时+编译时、纯编译的,整理一下三者的区别
一:纯运行时
1:定义:指的是程序的代码在运行时才被解释执行,而没有经过编译器的转换过程。一般用于脚本语言等动态语言,程序在每次运行时都需要解释执行,因此可能会导致一定的性能损失
2:代码,运行时,JavaScript 解释器会动态地解释代码,并执行相应的操作
function sayHello() {
console.log("Hello, world!");
}
sayHello();
二:运行时+编译时
1:定义:指的是程序在运行时需要执行编译过程。一般用于即时编译(Just-In-Time Compilation,JIT)技术,程序在运行时会先被解释执行,但是同时也会被编译器编译成机器语言,以提高程序的性能
2:代码,需要动态生成一部分代码,并在运行时进行加载和执行
import _ from "lodash";
function component() {
const element = document.createElement("div");
element.innerHTML = _.join(["Hello", "webpack"], " ");
return element;
}
document.body.appendChild(component());
三:纯编译时
1:定义:指的是程序的代码在编译时就被转换成机器语言,生成可执行文件,而没有经过运行时的解释执行。一般用于静态编译(Static Compilation)的语言,具有较高的性能。需要考虑不同的操作系统、处理器等因素,生成的可执行文件可能不具有跨平台性
2:代码,通过编译器将代码转换成可执行的 JavaScript 代码
function sayHello(name: string) {
console.log(`Hello, ${name}!`);
}
sayHello("world");