JS 教程之初识 JavaScript
JavaScript,简称 JS,是当前互联网上最流行、应用最广泛的客户端脚本语言,用来为网页添加一些动态效果或者用户交互功能,在 Web 开发领域有着举足轻重的地位。
认识 JS
前面我们提过,JavaScript 与 HTML 和 CSS 共同构成了我们所看到的网页(W3C 标准模式),其中:
- HTML 用来定义网页的内容 >>> 例如标题、正文、图像等;
- CSS 用来控制网页的外观 >>> 例如颜色、字体、背景等;
- JavaScript 是行为,用来实时更新网页中的内容 >>> 例如从服务器获取数据并更新到网页中,修改某些标签的样式或其中的内容等,可以让网页更加生动。
通俗的来说,JavaScript 是一种可插入 HTML 文档的,由浏览器解释执行的,轻量级脚本编程语言。
JS 的历史
JavaScript 最初被称为 LiveScrip,由 Netscape(Netscape Communications Corporation,网景通信公司)公司的布兰登·艾奇(Brendan Eich)在 1995 年开发。在 Netscape 与 Sun(Sun Microsystems,现已被甲骨文公司收购)合作之后正式更名为了 JavaScript。
之所以将 LiveScript 更名为 JavaScript,是因为 JavaScript 是受 Java 的启发而设计的,因此在语法上它们有很多相似之处 ,JavaScript 中的许多命名规范也都借鉴自 Java,还有一个原因就是 为了营销,蹭 Java 的热度。
同一时期,微软和 Nombas 公司也分别开发了 JScript 和 ScriptEase 两种脚本语言,与 JavaScript 形成了三足鼎立之势。它们之间没有统一的标准,不能互用。随着版本不同暴露的问题日益加剧,JavaScript 的规范化最终被提上日程。
为了解决这一问题,1997 年,在 ECMA(European Computer Manufacturers Association,欧洲计算机制造商协会)的牵头下,Netscape、Sun、微软、Borland 等公司组成了工作组,并 以 JavaScript1.1 为蓝本制定了 ECMA-262,它是一种名为 ECMAScript 脚本语言标准。
第二年,ISO/IEC(国际标准化组织及国际电工委员会)也采用了 ECMAScript 作为标准(即 ISO/IEC-16262)。
JS Vs ECMAScript
有时人们会将 JavaScript 与 ECMAScript 看作是相同的。其实不然,JavaScript 中所包含的内容远比 ECMA-262 中规定的多得多,完整的 JavaScript 是由以下三个部分组成:
- 核心(ECMAScript):提供 JS 语言的核心语法和基本对象支持等;
- 文档对象模型(DOM):提供操作网页内容的方法和接口;
- 浏览器对象模型(BOM):提供与浏览器进行交互的方法和接口。
也就是说,ECMAScript(核心)只是定义了 JavaScript 脚本语言的基础,而在此基础上通过其它部分(DOM、BOM)构建更完善的 JS 脚本语言。
如何运行 JS
作为一种脚本语言,JavaScript 代码不能独立运行,通常情况下我们需要 借助浏览器来运行 JavaScript 代码,目前所有 Web 浏览器都支持 JavaScript。
除了可以在浏览器中执行外,也可以在 服务端(Nodejs)或者搭载了 JavaScript 引擎的设备 中执行 JavaScript 代码。
浏览器之所以能够运行 JavaScript 代码就是因为浏览器中都嵌入了 JavaScript 引擎。常见的 JavaScript 引擎有:
- V8 In Chrome && Opera;
- SpiderMonkey In Firefox;
- Chakra In
- ChakraCore In Microsoft Edge;
- SquirrelFish In Safari。
认识 Node.js
JavaScript 诞生于 1995 年,几乎是和互联网同时出现;Node.js 诞生于 2009 年,比 JavaScript 晚了 15 年左右。
在 Node.js 之前,JavaScript 只能运行在浏览器中,作为网页脚本使用。有了 Node.js 以后,JavaScript 就可以脱离浏览器,像其它编程语言一样直接在计算机(服务器)上使用,想干什么就干什么,再也不受浏览器的限制了。
Node.js 既不是一门新的编程语言,也不是一个 JavaScript 框架,它是 一套基于 V8 引擎的 JavaScript 运行环境,用来支持 JavaScript 代码的执行。
用编程术语来讲,Node.js 是一个 JavaScript 运行时(Runtime)。
现在的 JavaScript 除了用于 Web 前端编程(网页编程),还能干很多事情,比如:
- 网站后台(Node.js);
- CLI 命令行工具(Node.js);
- 桌面 GUI 程序(Electron);
- 手机 App(Cordova);
- 控制硬件-物联网(Ruff);
- 游戏开发(cocos2d-js)。
也就是说,学会了 JavaScript,你不但是全栈工程师,甚至还将无所不能,这都是 Node.js 带给我们的。
Runtime 详解 >>>
所谓运行时,就是程序在运行期间需要依赖的一系列组件或者工具;把这些工具和组件打包在一起提供给程序员,程序员就能运行自己编写的代码了。
例如:解释器、JS 标准库、JS 本地模块(网络模块、Debugger 模块、HTML 解析模块)等各种组件/工具共同支撑了 JavaScript 代码的运行,它们统称为 JavaScript 运行时。
在 Node.js 之前,JavaScript 运行时被绑定在浏览器中,作为浏览器的各种模块出现。
这意味着,要想运行 JavaScript 代码就必须启动浏览器,JavaScript 逃不出浏览器的手掌心,它的功能受到很大的限制,只能作为网页脚本使用。
JS 特点
JavaScript 具有以下特点:
[1] >>> 解释型脚本语言
JavaScript 是一种解释型脚本语言,与 Java、C/C++ 等语言需要先编译再运行不同,使用 JavaScript 编写的代码不需要编译,可以直接运行。
[2] >>> 面向对象
JavaScript 是一种面向对象语言,使用 JavaScript 不仅可以创建对象,也能操作使用已有的对象。
[3] >>> 弱类型语言
avaScript 是一种弱类型的编程语言,对使用的数据类型没有严格的要求。例如你可以将一个变量初始化为任意类型,也可以随时改变这个变量的类型。
[4] >>> 动态性
JavaScript 是一种采用事件驱动的脚本语言,它不需要借助 Web 服务器就可以对用户的输入做出响应。例如我们在访问一个网页时,通过鼠标在网页中进行点击或滚动窗口时,通过 JavaScript 可以直接对这些事件做出响应。
[5] >>> 跨平台
JavaScript 不依赖操作系统,在浏览器中就可以运行。因此一个 JavaScript 脚本在编写完成后可以在任意系统上运行,只需要系统上的浏览器支持 JavaScript 即可。
JS 教程之初识 JavaScript
https://www.orangeshare.cn/2019/02/01/js-jiao-cheng-zhi-chu-shi-javascript/
install_url
to use ShareThis. Please set it in _config.yml
.