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官网 也很不错

相关推荐
Cobyte10 分钟前
1.基于依赖追踪和触发的响应式系统的本质
前端·javascript·vue.js
老神在在00132 分钟前
【Selenium 自动化精讲】浏览器弹窗与登录界面的本质区别 & 实操指南
javascript·学习·selenium·测试工具·自动化
前端小咸鱼一条1 小时前
16.迭代器 和 生成器
开发语言·前端·javascript
前端小阳2 小时前
JavaScript原型链
javascript
早點睡3902 小时前
ReactNative项目OpenHarmony三方库集成实战:react-native-collapsible
javascript·react native·react.js
前端Hardy2 小时前
别再手写代码了!2026 前端 5 个 AI 杀招,直接解放 80% 重复劳动(附工具+步骤)
前端·javascript·面试
SuperEugene2 小时前
Element Plus/VXE-Table UI 组件库规范:统一用法实战,避开样式冲突与维护混乱|工程化与协作规范篇
前端·javascript·vue.js·ui·前端框架·element plus·vxetable
前端Hardy2 小时前
前端工程师必备的 10 个 AI 万能提示词(Prompt),复制直接用,效率再翻倍!
前端·javascript·面试
BioRunYiXue2 小时前
Nature Methods:CellVoyager 自主 AI 智能体开启生物数据分析新时代
大数据·开发语言·前端·javascript·人工智能·数据挖掘·数据分析
网络点点滴3 小时前
Vue3中Suspense的使用
前端·javascript·vue.js