JavaScript基本介绍

孤人 提交于 2020-12-23 03:16:26

什么是JavaScript?

JavaScript是一种直译式脚本语言,一种轻量级脚本语言

什么是脚本语言?

Script language指的是它不具备开发操作系统的能力,而是只用来编写控制其他程序的语言

JavaScript是一种嵌入式(embedded)语言。它本身提供的核心语法并不是很多,更多的功能需要依靠宿主环境(host)提供。So,这门语言适合嵌入更大型的应用程序环境中,去调用宿主环境提供的底层API

目前常见的JavaScript宿主环境有浏览器服务器环境Node

如果从语法的层面来看,JavaScript是一门对象模型语言。各种宿主环境通过这个模型,描述自己的功能和操作接口,从而通过JavaScript控制这些功能。

同时,JavaScript还支持函数式编程。所以在学习的过程中,我们需要更多的去了解和学习一些不同解决问题的方法。

JavaScript的核心语法部分包括基本语法构造标准库,当然如果学习这门语言还需要学习不同的宿主环境提供的一些其他API[这种API通常情况下只能在该宿主环境下使用],从而在需要的时候方便调用。

例如经常涉及的宿主环境浏览器,它提供的额外的API可以分成三大类:

  • 浏览器控制类:操作浏览器
  • DOM类: 操作网页的各种元素
  • Web类: 实现互联网的各种功能

而如果你的宿主环境Node这种服务器环境,那么就会提供各种操作系统的API,例如文件操作API网络通信相关的API等等。

JavaScript的发展

为什么选择学习JavaScript

  • 对浏览器的操作能力
  • 更多的应用领域
  • 对初学者更加的友好
  • 日益强大的性能

对浏览器的操作能力:

JavaScript诞生之初,就是为了作为浏览器内置脚本语言,让前端开发者能够操作浏览器。虽然在之前出现过很多类似的脚本语言,但是目前来讲,JavaScript是唯一的一种通用的浏览器脚本语言,所有的浏览器都支持。

开发者通过JavaScript可以让网页实现更多的展示效果,创造更好的用户体验。

更多的应用领域:

随着近些年的发展,JavaScript这门语言从最开始的只能使用在浏览器,渐渐的扩散到了服务端

1、浏览器的平台化

随着 HTML5 的出现,浏览器本身的功能越来越强,不再仅仅能浏览网页,而是越来越像一个平台,JavaScript 因此得以调用许多系统功能,比如操作本地文件、操作图片、调用摄像头和麦克风等等。这使得 JavaScript 可以完成许多以前无法想象的事情。

2、Node

Node 项目使得 JavaScript 可以用于开发服务器端的大型项目,网站的前后端都用 JavaScript 开发已经成为了现实。有些嵌入式平台(Raspberry Pi)能够安装 Node,于是 JavaScript 就能为这些平台开发应用程序。

3、数据库操作

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

4、移动平台开发

JavaScript 也正在成为手机应用的开发语言。一般来说,安卓平台使用 Java 语言开发,iOS 平台使用 Objective-CSwift 语言开发。许多人正在努力,让 JavaScript 成为各个平台的通用开发语言。

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

Mozilla 基金会的手机操作系统 Firefox OS,更是直接将 JavaScript 作为操作系统的平台语言,但是很可惜这个项目没有成功。

5、内嵌脚本语言

越来越多的应用程序,将 JavaScript 作为内嵌的脚本语言,比如 Adobe 公司的著名 PDF 阅读器 AcrobatLinux 桌面环境 GNOME 3

6、跨平台的桌面应用程序

Chromium OSWindows 8 等操作系统直接支持 JavaScript 编写应用程序。MozillaOpen Web Apps 项目、GoogleChrome App 项目GitHubElectron 项目、以及 TideSDK 项目,都可以用来编写运行于 WindowsMac OSAndroid 等多个桌面平台的程序,不依赖浏览器。

著名程序员 Jeff Atwood 甚至提出了一条 “Atwood 定律”

“所有可以用 JavaScript 编写的程序,最终都会出现 JavaScript 的版本。”(Any application that can be written in JavaScript will eventually be written in JavaScript.)

对初学者更加的友好:

1、可以随时随地的使用浏览器进行开发练习。

2、简单化的语法。即使复杂的语法你没有掌握,也可以通过简单的语法实现。

3、与C/C++Java的相似性。如果你学过这两门语言,那么再来学习JavaScript可以说将会很简单。

日益强大的性能:

1、灵活的语法。

JavaScript 既支持类似C语言清晰的过程式编程,也支持灵活的函数式编程,可以用来写并发处理(concurrent)。这些语法特性已经被证明非常强大,可以用于许多场合,尤其适用异步编程

JavaScript 的所有值都是对象,这为程序员提供了灵活性和便利性。因为你可以很方便地、按照需要随时创造数据结构,不用进行麻烦的预定义。

JavaScript 的标准还在快速进化中,并不断合理化,添加更适用的语法特性。

2、支持编译运行

JavaScript 语言本身,虽然是一种解释型语言,但是在现代浏览器中,JavaScript 都是编译后运行。程序会被高度优化,运行效率接近二进制程序。而且,JavaScript 引擎正在快速发展,性能将越来越好。

此外,还有一种 WebAssembly 格式,它是 JavaScript 引擎的中间码格式,全部都是二进制代码。由于跳过了编译步骤,可以达到接近原生二进制代码的运行速度。各种语言(主要是 CC++)通过编译成 WebAssembly,就可以在浏览器里面运行。

3、事件驱动和非阻塞设计

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

JavaScript和H5

JavaScript这门语言,本身是一门用来在浏览器当中做交互效果的脚本语言。虽然现在跟当年的环境发生了极大的变化,但是这项功能仍然还保留在JavaScript的身体里。

H5如果从狭义的角度讲,可以解释为html的第五代产品html主要负责页面的结构,而JavaScript则需要和html相互配合,负责页面的交互效果。

如果从广义的角度来说,可以解释为新一代的富客户端解决方案,而对于这种开发需求,JavaScript更是一个好的伙伴。

同时,如果单纯的从语言本身来看,大家所说的H5开发,大概可以约等于Html+Css+JavaScript

如果从技术层面看,到了H5的年代,提供给了JavaScript更多的API,让开发变得更加灵活。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!