JavaScript是什么?
从头认识JavaScript
JavaScript
简称‘JS
’,是一款用来在网页中添加一些动态效果与交互功能的客户端语言,虽然如今看来这是前端工程师的必修课,但其实这在前后端还没有分离的年代,只是作为一种简单的技术实现网络交互操作,为什么要说是它是一个简单的技术呢?这还是要从JavaScriptDE
的诞生说起。
一、JavaScript的诞生
JavaScript
最初被称为 LiveScript
,由 Netscape(Netscape Communications Corporation,网景通信公司)公司的布兰登·艾奇(Brendan Eich)在 1995 年开发。在Netscape 与 Sun(一家互联网公司,全称为“Sun Microsystems”,现已被甲骨文公司收购)合作之后将其更名为了 JavaScript
。虽然JavaScript
的设计是借鉴了当时的Java
。但更名原因之一肯定还是有蹭当时大热语言Java
的嫌疑,但蹭热度的行为也是因为当时JavaScript诞生时,微软和 Nombas(一家名为 Nombas 的公司)也分别开发了 JScript 和 ScriptEase 两种脚本语言,与 JavaScript 形成了三足鼎立之势,也就是所谓的浏览器大战时期。各公司为了抢占浏览器的市场份额,手段也是层出不穷,甚至JavaScript
的设计理念上都有考虑到让更多人使用这门语言时的简单性,这也是为什么JavaScript
采用了原型的设计,这点之后再讲。
二、JavaScript的形成和发展
1997 年,在 ECMA(欧洲计算机制造商协会)的协调下,Netscape、Sun、微软、Borland(一家软件公司)组成了工作组,并以 JavaScript
为基础制定了 ECMA-262 标准(ECMAScript
)。第二年,ISO/IEC(国际标准化组织及国际电工委员会)也采用了 ECMAScript 作为标准(即 ISO/IEC-16262)。而ECMAScript
(简称“ES
”)是根据 ECMA-262 标准实现的通用脚本语言,ECMA-262 标准主要规定了这门语言的语法、类型、语句、关键字、保留字、操作符、对象等几个部分,目前 ECMAScript 的最新版是 ECMAScript6
(简称“ES6
”)。
至此完整的JavaScript
是由下面这三部分组成:
- 核心(
ECMAScript
):提供语言的语法和基本对象; - 文档对象模型(
DOM
):提供处理网页内容的方法和接口; - 浏览器对象模型(
BOM
):提供与浏览器进行交互的方法和接口
三、JavaScript的如今
现如今我们所能看到页面都是通过JavaScript
与 HTML
和 CSS
共同构成。我们可以通过来创建一个html文件来通过HTML
的标签创建网页的DOM结构,也可以通过JS实现动态控制DOM
和CSS
来实现更好的用户体验和网页交互。
作为一种脚本语言,JavaScript
代码不能独立运行,通常情况下我们需要借助浏览器来运行 JavaScript
代码,但好在如今的 Web 浏览器都支持 JavaScript
。除了可以在浏览器中执行外,也可以在服务端或者搭载了 JavaScript引擎的设备中执行 JavaScript
代码。
常见的 JavaScript
引擎有:
- V8:Chrome 和 Opera 中的 JavaScript 引擎;
- SpiderMonkey:Firefox 中的 JavaScript 引擎;
- Chakra:IE 中的 JavaScript 引擎;
- ChakraCore:Microsoft Edge 中的 JavaScript 引擎;
- SquirrelFish:Safari 中的 JavaScript 引擎。
三、JavaScript的特点
1) 解释型脚本语言——JavaScript
是一种解释型脚本语言,与 C
、C++
等语言需要先编译再运行不同,使用 JavaScript
编写的代码不需要编译,可以直接运行。
2) 面向对象——JavaScript
是一种面向对象语言,使用 JavaScript
不仅可以创建对象,也能操作使用已有的对象。
3) 弱类型——JavaScript
是一种弱类型的编程语言,对使用的数据类型没有严格的要求,例如您可以将一个变量初始化为任意类型,也可以随时改变这个变量的类型。
4) 动态性——JavaScript
是一种采用事件驱动的脚本语言,它不需要借助 Web
服务器就可以对用户的输入做出响应,例如我们在访问一个网页时,通过鼠标在网页中进行点击或滚动窗口时,通过 JavaScript
可以直接对这些事件做出响应。
5) 跨平台——JavaScript
不依赖操作系统,在浏览器中就可以运行。因此一个 JavaScript
脚本在编写完成后可以在任意系统上运行,只需要系统上的浏览器支持 JavaScript
即可。