导论

原文地址:https://wangdoc.com/javascript/
JavaScript是一种轻量级脚本语言,不具备开发操作系统的能力,只用来编写控制其他大型应用程序(比如浏览器)的脚本。
JavaScript是一种嵌入式语言,本身不提供任何与IO相关的API,需要宿主环境提供。目前嵌入JavaScript的宿主环境,最常见的就是浏览器,另外还有服务器环境,就是Node项目。
JavaScript的核心语法包括两部分:基本的语法构造(比如操作符、控制语句、语句)和标准库(就是一系列具有各种功能的对象,比如Array、Date、Math等)。除此之外,各种宿主环境提供的额外API(即只能在该环境使用的接口),以便JavaScript调用。以浏览器为例,它提供的额外API分成三大类。

  • 浏览器控制类:操作浏览器
  • DOM类:操作网页的各种元素
  • Web类:实现互联网的各种功能
    如果宿主环境是服务器,则会提供各种操作系统的API,比如文件操作,网络通信API等。

操控浏览器的能力和广泛的使用领域

浏览器平台化

HTML5的出现,浏览器本身的功能越来越强大,越来越想一个平台,JavaScript因此得以调用许多系统功能,比如操作本地文件,操作图片,调用摄像头和麦克风。

Node

Node项目是JavaScript可以用于开发服务端的大型项目。

数据库操作

JavaScript甚至可以用来操作数据库,NoSQL数据库本身就是在JSON格式的基础上诞生的,大部分的NoSQL数据库允许JavaScript直接操作。开源数据库PostgreSQL支持JavaScript作为操作语言,可以部分取代SQL查询语言。

移动平台开发

PhoneGap项目将JavaScript和HTML5打包在一个容器之中,使得它能同时在iOS和安卓上运行。React Native项目则是将JavaScript写的组件编译成原生组件,从而使它们具备优秀的性能。

灵活的语法

JavaScript的所有值都是对象,可以很方便的按照需要随时创造数据结构。

支持编译运行

JavaScript语言本身虽然是一种解释型语言,但是在现代浏览器中,JavaScript都是编译后运行。程序会被高度优化,运行效率接近二进制程序。而且JavaScript引擎正在快速发展。
此外,还有一种WebAssembly格式,它是JavaScript引擎的中间码格式。各种语言(主要是C和C++)通过编译成WebAssembly,就可以在浏览器里面运行。

事件驱动和非阻塞式设计

JavaScript程序采用事件驱动和非阻塞式设计,在服务器端适合高并发环境,普通的硬件就可以承受很大的访问量。

实验环境

  • 推荐Chrome,Mac打开控制台的快捷方式Option + Command + J
  • 由开发者工具进入:F12,或者Option + Command + I,然后选择Console
    在Console中按下Enter代码就会执行,如果按下Shift + Enter就是代码换行,不会触发执行。
原文地址:https://www.cnblogs.com/chris-jichen/p/9922629.html