JavaScript简介
JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式、声明式、函数式编程范式。
JavaScript主要功能
- 嵌入动态文本于HTML页面.
- 对浏览器事件做出响应。
- 读写HTML元素。
- 在数据被提交到服务器之前验证数据。
- 检测访客的浏览器信息。 控制cookies,包括创建和修改等。
- 基于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
- 数组和运算的区别
- == 和 ===
- 基本类型的包装对象
详解请看阮一峰的网络日志