《JavaScript 诞生 》

293 阅读5分钟

发明人

布兰登·艾奇1961年生于美国加州的森尼维尔市,毕业于伊利诺伊大学香槟分校。1995年任职于网景期间,为网景浏览器开发出JavaScript,之后成为浏览器上应用最广泛的脚本语言之一。1998年布兰登协助成立mozilla,2003年在美国在线决定结束网景浏览器的开发后,布兰登协助成立了Mozilla基金会。

1ad5ad6eddc451daa4ca924cbefd5266d016325c.jpg


JavaScript 简介

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

JavaScript的标准是ECMAScript 。截至 2012 年,所有浏览器都完整的支持ECMAScript 5.1,旧版本的浏览器至少支持ECMAScript 3 标准。2015年6月17日,ECMA国际组织发布了ECMAScript的第六版,该版本正式名称为 ECMAScript 2015,但通常被称为ECMAScript 6 或者ES2015。

Javascript的设计,其实只用了十天。而且,设计师是为了向公司交差,本人并不愿意这样设计。

另一方面,这种语言的设计初衷,是为了解决一些简单的网页互动(比如,检查"用户名"是否填写),并没有考虑复杂应用的需要。设计者做梦也想不到,Javascript将来可以写出像Gmail这种极其庞大复杂的网页。


仅仅用了十天便设计出来的JavaScript,当然面临很多的缺陷

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

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

  3. null和undefined

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

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

  6. 加号运算符

  7. NaN

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

  9. == 和 ===:==用来判断两个值是否相等。当两个值类型不同时,会发生自动转换,得到的结果非常不符合直觉。

  10. 基本类型的包装对象:Javascript有三种基本数据类型:字符串、数字和布尔值。


看了缺陷来记录一下主要功能

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

语言的组成

  • ECMAScript,描述了该语言的语法和基本对象。
  • 文档对象模型(DOM),描述处理网页内容的方法和接口。
  • 浏览器对象模型(BOM),描述与浏览器进行交互的方法和接口。

运行模式

JavaScript是一种属于网络的高级脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的。

  • 是一种解释性脚本语言(代码不进行预编译)。
  • 主要用来向HTML(标准通用标记语言下的一个应用)页面添加交互行为。
  • 可以直接嵌入HTML页面,但写成单独的js文件有利于结构和行为的分离。
  • 跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行(如Windows、Linux、Mac、Android、iOS等)。
  • JavaScript脚本语言同其他语言一样,有它自身的基本数据类型,表达式和算术运算符及程序的基本程序框架。
  • JavaScript提供了四种基本的数据类型和两种特殊数据类型用来处理数据和文字。而变量提供存放信息的地方,表达式则可以完成较复杂的信息处理。

语言标准

JavaScript已经被Netscape公司提交给ECMA制定为标准,称之为ECMAScript,标准编号ECMA-262。最新版为ECMAScript 6


总结

这样来看,JavaScript虽然有着很多的缺陷,但是如果遵守良好的编程规范,加上第三方函数库的帮助,Javascript的这些缺陷大部分可以回避。并且相反的它的编程能力很强大。前途也很光明。


今天的JavaScript记录是本人日常学习记录,有错误请指正,暂时先记录到此,还可以根据以下几个网站进行学习,百度学习大法

JavaScript 诞生记 进行学习。再见。