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

相关推荐
三十而立洋5 天前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
卡布鲁5 天前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
李少兄5 天前
JavaScript 隐式全局变量解析
javascript
沙蒿同学5 天前
我用 Go 搭了一条 AI Agent 流水线:从 1 张商品图到一整套淘宝详情页
前端·javascript·后端
paopaokaka_luck5 天前
智慧社区综合服务小程序(人脸识别、AI问答、Echarts图形化分析)
前端·javascript·spring boot·spring·数据分析·echarts
Hilaku5 天前
为什么死磕 1px 的团队,用户体验反而更差?
前端·javascript·程序员
陈拉斯5 天前
给公司年会写了个大屏抽奖系统:动画在前端跑,凭什么说结果没被改?
javascript
yzy855 天前
Vue中下载或打开文件的JavaScript方法
前端·javascript·vue
用户298698530145 天前
在 React 中用 JavaScript 将 Word 转换为文本
前端·javascript·react.js
李少兄5 天前
深入解析 JavaScript 中的 `document` 对象
javascript