JavaScript 的诞生

73 阅读2分钟

JavaScript简介

JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式、声明式、函数式编程范式。

JavaScript主要功能

  1. 嵌入动态文本于HTML页面.
  2. 对浏览器事件做出响应。
  3. 读写HTML元素。
  4. 在数据被提交到服务器之前验证数据。
  5. 检测访客的浏览器信息。 控制cookies,包括创建和修改等。
  6. 基于Node.js技术进行服务器端编程。

JavaScript之父

以前的浏览器不能与网页进行交互,如果网页上有表单或者其他输入框等需要用户填写的模块,若用户未填写,浏览器不会自动识别,只能在发给服务器,而服务器报错后才能发现,极不方便,也浪费了很多资源。

1995年5月,网景公司做出决策,未来的网页脚本语言必须"看上去与Java足够相似",但是比Java简单,使得非专业的网页作者也能很快上手。这个决策实际上将Perl、Python、Tcl、Scheme等非面向对象编程的语言都排除在外了。

Brendan Eich被指定为这种"简化版Java语言"的设计师。 但是,他对Java一点兴趣也没有。为了应付公司安排的任务,他只用10天时间就把Javascript设计出来了。 由于设计时间太短,语言的一些细节考虑得不够严谨,导致后来很长一段时间,Javascript写出来的程序混乱不堪。如果Brendan Eich预见到,未来这种语言会成为互联网第一大语言,全世界有几百万学习者,他会不会多花一点时间呢?

详解请看阮一峰的网络日志

JavaScript的十大缺陷

由于JavaScript的开发阶段短,标准制定中缺乏积累和查漏补缺,这使得JavaScript从出生就带有很多缺陷。有以下几点(来源:阮一峰的网络日志):

  • 不适合开发大型程序
  • 非常小的标准库
  • null和undefined
  • 全局变量难以控制
  • 自动插入行尾分号
  • 加号运算符
  • NaN
  • 数组和运算的区别
  • == 和 ===
  • 基本类型的包装对象

详解请看阮一峰的网络日志