写代码啦
JavaScript 的诞生
回复数(0) 浏览数(47)
{{topic.upvote_count || 0}} 编辑 回复

从今天开始起就要开始学习JS了,比起HTML和CSS,JS的学习方法有所不同,更加讲究逻辑。这门语言也有着非常神奇的历史,今天就稍微来说几句。

始于网景

  1. 1994年,网景公司发布了Netscape Navigator 0.9 版本,这是世界上第一个比较成熟的网页浏览器。但是呢,这个版本的浏览器只能用来浏览网页。网景预见到网络需要变得更加动态。公司的创始人马克·安德森认为HTML需要一种胶水语言,让网页设计师和兼职程序员可以很容易地使用它来组装图片和插件之类的组件,且代码可以直接编写在网页标记中。
  2. 1995年,网景招募了布兰登·艾克,目标是把Scheme语言嵌入到Netscape Navigator浏览器当中。但是在这之前,网景已经在浏览器中支持了Java语言。这时的公司内部发生了分歧。这个时候公司内部需要一个可以运作的原型来支撑他们的理念。所以布莱登花了10天的时间来设计了这门语言。
  3. 最初命名为Mocha,1995年9月在Netscape Navigator 2.0的Beta版中改名为LiveScript。同年12月,Netscape Navigator 2.0 Beta 3中部署时被重命名为JavaScript。当时网景公司与昇阳电脑公司组成的开发联盟为了让这门语言搭上Java这个编程语言“热词”,因此将其临时改名为JavaScript,其实它与Java并没有什么关系。
  4. 由于设计时间太短,语言的一些细节考虑得不够严谨,导致后来很长一段时间,Javascript写出来的程序混乱不堪。它主要是借鉴的C语言的语法,Java的数据类型和内存管理,Scheme语言的函数为大理念,Self语言的原型继承机制。

十大设计缺陷

因为这是一门花了10天时间就设计出来的语言,它本身存在着非常多的问题。首先设计者当初并不重视它,只是为了完成公司交代的一些要求。他并没有想到之后这门语言会变得应用如此广泛。所以导致了这门语言存在了很多缺陷,这里例举了十大缺陷。
1. 不适合开发大型程序
2. 标准库很小
3. null 和 undefined 非常容易混淆
4. 全局变量难以控制,函数内部也能形成
5. 自动插入行尾分号
6. 加号运算符有两个含义,可以表示数字相加,也可以表示字符相连
7. NaN是一种数字,但是不知道具体设计它的意义是什么
8. 数组和对象难以区分
9. == 和 === 不一样,推荐用后者
10. 基本类型对应的对象,作用很小,却很容易混淆

总结

JavaScript 的设计缺陷很明显,但是并不妨碍它现在如此的盛行。只要能遵守良好的编程规范,认识到JavaScript的不足,并且用第三方库来加以弥补,就能比较好地使用它。相信未来JavaScript会走的更好。

{{topic.upvote_count || 0}}

从今天开始起就要开始学习JS了,比起HTML和CSS,JS的学习方法有所不同,更加讲究逻辑。这门语言也有着非常神奇的历史,今天就稍微来说几句。

始于网景

  1. 1994年,网景公司发布了Netscape Navigator 0.9 版本,这是世界上第一个比较成熟的网页浏览器。但是呢,这个版本的浏览器只能用来浏览网页。网景预见到网络需要变得更加动态。公司的创始人马克·安德森认为HTML需要一种胶水语言,让网页设计师和兼职程序员可以很容易地使用它来组装图片和插件之类的组件,且代码可以直接编写在网页标记中。
  2. 1995年,网景招募了布兰登·艾克,目标是把Scheme语言嵌入到Netscape Navigator浏览器当中。但是在这之前,网景已经在浏览器中支持了Java语言。这时的公司内部发生了分歧。这个时候公司内部需要一个可以运作的原型来支撑他们的理念。所以布莱登花了10天的时间来设计了这门语言。
  3. 最初命名为Mocha,1995年9月在Netscape Navigator 2.0的Beta版中改名为LiveScript。同年12月,Netscape Navigator 2.0 Beta 3中部署时被重命名为JavaScript。当时网景公司与昇阳电脑公司组成的开发联盟为了让这门语言搭上Java这个编程语言“热词”,因此将其临时改名为JavaScript,其实它与Java并没有什么关系。
  4. 由于设计时间太短,语言的一些细节考虑得不够严谨,导致后来很长一段时间,Javascript写出来的程序混乱不堪。它主要是借鉴的C语言的语法,Java的数据类型和内存管理,Scheme语言的函数为大理念,Self语言的原型继承机制。

十大设计缺陷

因为这是一门花了10天时间就设计出来的语言,它本身存在着非常多的问题。首先设计者当初并不重视它,只是为了完成公司交代的一些要求。他并没有想到之后这门语言会变得应用如此广泛。所以导致了这门语言存在了很多缺陷,这里例举了十大缺陷。
1. 不适合开发大型程序
2. 标准库很小
3. null 和 undefined 非常容易混淆
4. 全局变量难以控制,函数内部也能形成
5. 自动插入行尾分号
6. 加号运算符有两个含义,可以表示数字相加,也可以表示字符相连
7. NaN是一种数字,但是不知道具体设计它的意义是什么
8. 数组和对象难以区分
9. == 和 === 不一样,推荐用后者
10. 基本类型对应的对象,作用很小,却很容易混淆

总结

JavaScript 的设计缺陷很明显,但是并不妨碍它现在如此的盛行。只要能遵守良好的编程规范,认识到JavaScript的不足,并且用第三方库来加以弥补,就能比较好地使用它。相信未来JavaScript会走的更好。

47
回复 编辑