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

相关推荐
香蕉可乐荷包蛋2 小时前
浅入ES5、ES6(ES2015)、ES2023(ES14)版本对比,及使用建议---ES6就够用(个人觉得)
前端·javascript·es6
未来之窗软件服务3 小时前
资源管理器必要性———仙盟创梦IDE
前端·javascript·ide·仙盟创梦ide
西哥写代码4 小时前
基于cornerstone3D的dicom影像浏览器 第十八章 自定义序列自动播放条
前端·javascript·vue
清风细雨_林木木4 小时前
Vue 中生成源码映射文件,配置 map
前端·javascript·vue.js
雪芽蓝域zzs5 小时前
JavaScript splice() 方法
开发语言·javascript·ecmascript
森叶6 小时前
Electron 主进程中使用Worker来创建不同间隔的定时器实现过程
前端·javascript·electron
霸王蟹6 小时前
React 19 中的useRef得到了进一步加强。
前端·javascript·笔记·学习·react.js·ts
霸王蟹6 小时前
React 19版本refs也支持清理函数了。
前端·javascript·笔记·react.js·前端框架·ts
codelxy6 小时前
vue引用cesium,解决“Not allowed to load local resource”报错
javascript·vue.js
程序猿阿伟7 小时前
《社交应用动态表情:RN与Flutter实战解码》
javascript·flutter·react native