JavaScript 的诞生

1994年网景公司(Netscape)发布了Navigator浏览器0.9版,网景公司急需一种网页脚本语言,使得浏览器可以与网页互动。在这样需求迫切的背景下,1995年5月布兰登·艾克花了十天就设计出了简单的JavaScript 的原型。由于Java语言的火热,网景公司要求网页脚本语言与Java相似,希望是“简化的Java语言”。然而布兰登·艾克 并不是专业Java的语言开发者。JavaScript其实只是借鉴了Java的名字 和面向对象的思想,本质上与Java并无关系。Javascript同时结合了函数式编程和面向对象编程的特点。Javascript是唯一使用Prototype原型实现继承的语言。
由于JavaScript设计的过于仓促,也导致了这个语言有一些缺陷:

  1. 不适合开发大型程序
  2. 非常小的标准库
  3. null和undefined
    null属于对象(object)的一种,意思是该对象为空
    undefined则是一种数据类型,表示未定义
typeof null; // object
typeof undefined; // undefined
  1. 全局变量难以控制
  2. 自动插入行尾分号
  3. 作为弱语言 +号作为运算符,有两个含义,既可以表示数字与数字的求和,也可以表示字符与字符的连接
  4. NaN是一种数字,表示超出了解释器的极限
NaN === NaN; //false
NaN !== NaN; //true
alert( 1 + NaN ); // NaN
  1. 数组和对象的区分
    数组也是对象的一种数组的--proto--指向Object的prototype
  2. == 和 ===
    ==用来判断两个值是否相等。当两个值类型不同时,会发生自动转换
    ===用于判断严格等于 包括数据类型
 "" == "0" // false
 0 == "" // true
 0 == "0" // true
 false == "false" // false
 false == "0" // true
 false == undefined // false
 false == null // false
 null == undefined // true
 " \t\r\n" == 0 // true

http://www.ruanyifeng.com/blog/2011/06/birth_of_javascript.html
http://www.ruanyifeng.com/blog/2011/06/10_design_defects_in_javascript.html

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容