《JavaScript 的诞生》

137 阅读3分钟

JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。 JavaScript在1995年由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。

1.JavaScript诞生背景

"1994年,网景公司(Netscape)发布了Navigator浏览器0.9版。这是历史上第一个比较成熟的网络浏览器,轰动一时。
但是,这个版本的浏览器只能用来浏览,不具备与访问者互动的能力。
网景公司急需一种网页脚本语言,使得浏览器可以与网页互动。"

1995年Sun公司将Oak语言改名为Java,正式向市场推出。
Sun公司大肆宣传,许诺这种语言可以"一次编写,到处运行"(Write Once, Run Anywhere),
它看上去很可能成为未来的主宰。

19955月,网景公司做出决策,未来的网页脚本语言必须
"看上去与Java足够相似",但是比Java简单,使得非专业的网页作者也能很快上手。

Brendan Eich被指定为这种"简化版Java语言"的设计师。但是,他对Java一点兴趣也没有。
为了应付公司安排的任务,他只用10天时间就把JavaScript设计出来了。
由于设计时间太短,JavaScript也存在着很多问题。

2.JavaScript的设计思路

1)借鉴C语言的基本语法;
(2)借鉴Java语言的数据类型和内存管理;
(3)借鉴Scheme语言,将函数提升到"第一等公民"(first class)的地位;
(4)借鉴Self语言,使用基于原型(prototype)的继承机制。

3.JavaScript的特点

(1)脚本语言。JavaScript是一种解释型的脚本语言,C、C++等语言先编译后执行,
而JavaScript是在程序的运行过程中逐行进行解释。

(2)基于对象。JavaScript是一种基于对象的脚本语言,它不仅可以创建对象,也能使用现有的对象。

(3)简单。JavaScript语言中采用的是弱类型的变量类型,对使用的数据类型未做出严格的要求,
是基于Java基本语句和控制的脚本语言,其设计简单紧凑。

(4)动态性。JavaScript是一种采用事件驱动的脚本语言,不需要经过Web服务器就可以对用户的输入做出响应。
访问网页时,鼠标在网页中进行鼠标点击或上下移、窗口移动等操作JavaScript都可直接对这些事件给出相应的响应。

(5)跨平台性。JavaScript脚本语言不依赖于操作系统,仅需要浏览器的支持。
因此一个JavaScript脚本在编写后可以带到任意机器上使用,前提是机器上的浏览器支持JavaScript脚本语言。

4.JavaScript的缺陷

(1)不适合开发大型程序

Javascript没有名称空间(namespace),很难模块化;没有如何将代码分布在多个文件的规范;
允许同名函数的重复定义,后面的定义可以覆盖前面的定义,很不利于模块化加载。

(2)非常小的标准库
Javascript提供的标准函数库非常小,只能完成一些基本操作,很多功能都不具备。

(3)全局变量难以控制
Javascript的全局变量,在所有模块中都是可见的;
任何一个函数内部都可以生成全局变量,这大大加剧了程序的复杂性。

(4)自动插入行尾分号
Javascript的所有语句,都必须以分号结尾。
如果你忘记加分号,解释器并不报错,而是为你自动加上分号。有时候这会导致一些难以发现的错误。

(5)数组和对象的区分
由于Javascript的数组也属于对象(object),所以要区分一个对象到底是不是数组,相当麻烦。

本文参考链接:

www.ruanyifeng.com/blog/2011/0…

www.ruanyifeng.com/blog/2011/0…

baike.baidu.com/item/javasc…