导论
一、 什么是 JavaScript 语言
一种轻量级的脚本语言
脚本语言:不具备开发操作系统的能力,而是只用来编写控制其他大型应用程序 如:浏览器 的 '脚本'
一种嵌入式语言
核心语法不多,只能用来做一些数学和逻辑运算
本身不提供任何与 I/O 输入/输出 相关的 API
都要靠宿主环境 host 提供,只适合嵌入更大型的应用程序环境,去调用宿主环境提供的底层 API
一种“对象模型”语言 语法角度
各种宿主环境通过这个模型,描述自己的功能和操作接口,从而通过 JavaScript 控制这些功能
但又不是纯粹的 “面向对象语言”,还支持其他编程范式 如:函数式编程,这会导致任何一个问题,JavaScript 都有多种解决方案
核心语法部分相当精简,只包括两部分:
基本的语法构造:操作符、控制结构、语句
标准库:一系列具有各种功能的对象,如:Array、Date、Math
除此之外,就是可调用的宿主环境提供的 API
浏览器提供的额外 API 可以分为三大类:
浏览器控制类:操作浏览器
DOM 类:操作网页的各种元素
Web 类:实现互联网的各种功能
服务端 node 宿主环境会提供各种操作系统的 API,如:文件操作 API、网络通信 API等
二、 JavaScript 的广泛使用
浏览器的平台化
服务端 Node Deno
数据库操作 基于 JSON 的 NoSQL
移动平台开发 React Native
内嵌脚本语言
跨平台的桌面应用程序
Atwood 定律:Any application that can be written in JavaScript will eventually be written in JavaScript
三、 JavaScript 的强大性能
语法灵活,表达力强
支持类似 C语言 清晰的过程式编程,也支持灵活的函数式编程,可以用来写并发处理 concurrent,尤其适用异步编程
JavaScript 的所有值都是对象,不需要麻烦的预定义
支持编译运行
在现代浏览器中,JavaScript 都是编译后运行,高度优化,运行效率接近 二进制程序
还有一种 WebAssembly 格式,它是 JavaScript 引擎的中间码格式,全部都是二进制代码,
由于跳过了编译步骤,可以达到接近原生二进制代码的运行速度,各种语言编译成 WebAssembly,就可以在浏览器里面运行 如 C 和 C++
事件驱动 和 非阻塞式设计
在服务端适合高并发环境,普通的硬件就可以承受很大的访问量
最后更新于
这有帮助吗?