Nice! 一图搞懂JS工作原理

找了资料,结合图文和整理。我来讲解介绍下JS的工作原理。

Javascript确实很牛X!是一门能够上天的编程语言!2019年,SpaceX 公司发射的"龙飞船"(Dragon)2 号将 JavaScript 技术带入了太空。 (图转自bytebytego,翻译整理by dogstar)

1、解释性编程语言

和编译语言不同,JavaScript由浏览器或JavaScript引擎解释执行,例如V8引擎和JIT优化技术,而不是事先编译成机器语言。这样它就可以跨平台运行。

PS:我是看大佬这本书长大的。

ES6 入门教程​

es6.ruanyifeng.com/

2、函数是一等公民

和面向对象编程OOP不同,在JavaScript世界里,函数反而是一等公民。这意味着函数可以被保存、作为参数传递,以及作为函数的结果返回。 (PS:有兴趣可以继续了解下什么是 匿名函数、闭包函数、回调函数、高阶函数,面试时我总喜欢提的问题)。

3、动态类型

既然作为一门动态语言,JS可以不必提前场景变量类型,统一用 var 或 let 或 const关键字即可,并且类型可以在运行过程中动态修改。

4、在客户端运行

JavaScript支持异步编程、文件读取、HTTP请求,以及在后台查询数据库等操作,并在完成后触发回调或promises。在Web网站 开发中特别管用,可以提高性能和用户体验。

5、基于原型的OOP

与基于类的面向对象语言不同,JavaScript使用原型进行继承。这意味着对象可以从其他对象继承属性和方法。 (PS:像Ruby这种元编程更好玩,还可以动态给自己新增方法)

6、自动回收内存

JavaScript会自动回收程序不再使用的对象占用的内存,防止内存泄漏并优化应用程序的性能。

7、对比其它语言

与Python或Java等编程语言相比,JavaScript主要用于Web网站开发。

众所周知,Python提供了良好的代码可读性和多功能性,而Java以其结构和健壮性而闻名,JavaScript是一种无需编译即可直接在浏览器上运行的解释型语言,强调灵活性和动态性。

8、和Typescript的关系

TypeScript 是JavaScript的超集,这意味着它通过向语言添加功能来扩展JavaScript,尤其是类型注释。这种关系允许任何有效的 JavaScript代码也被视为有效的TypeScript代码。 (PS:有点像 Scala/Processing语言扩展了Java一样)

TypeScript 中文网​

ts.nodejs.cn/

9、流行的Javascript框架

React 官网: React Native 以其灵活性和大量社区驱动的插件而闻名,而Vue cn.vuejs.org/ 则干净直观,具有高度集成和响应迅速的功能。另一方面,Angular Angular 中文文档 为企业级JS 开发提供了一套严格的开发规范。 (PS:还有古老的jQuery,哈哈;还有Nodejs nodejs.org/en 算不算一个;UniApp uni-app官网 也很不错

相关推荐
kyriewen13 小时前
2026 年了,还在用 Node.js?Bun 迁移实战:20 分钟搞定,附踩坑记录
前端·javascript·node.js
minglie19 小时前
一个置换问题
javascript
默_笙19 小时前
🌀 别再手动写 Prompt 了!我让 AI 自己循环改到满意为止
javascript
To_OC1 天前
LC 994 腐烂的橘子:人人都说是 BFS 入门题,我却写了三遍才过
javascript·算法·leetcode
To_OC2 天前
LC 200 岛屿数量:经典 DFS 入门题,我第一次写居然连方向都搞错了
javascript·算法·leetcode
labixiong2 天前
实现一个能跑的迷你版Promise(一)
前端·javascript·面试
weedsfly2 天前
还在用 Axios?你可能需要重新理解 XHR 与 Fetch
前端·javascript·面试
CoderWeen2 天前
从零实现一个 Vue3 流程图编辑器:节点拖拽、贝塞尔连线与框选
前端·javascript
To_OC2 天前
LC 128 最长连续序列:别上来就排序,O (n) 解法才是这题的灵魂
javascript·算法·leetcode
kyriewen2 天前
我用 50 行代码重写了 React Router 核心,终于搞懂了前端路由原理
前端·javascript·react.js