他就是 javascript 的爹,也叫JavaScript 之父。每个语言都有个爹。javascript 之父就是布兰登 艾奇。
1995年任职于网景期间,为网景浏览器开发出JavaScript,之后成为浏览器上应用最广泛的脚本语言之一。想一想我 1995 还在上学,我是在 20 年后才第一次接触到 javascript,那时候 javascript 以及开始崛起了,不再是人们眼中的小玩具了。
说到 javascript ,我们还不能不提一下这位宗师级的人物 Douglas Crockford,随后我会分享他的课程。
javascript 是一门比较容易上手的语言,这点和春丽游戏人物有点类似。无需掌握复杂连续的操作,也能打出漂亮的组合拳。javascript 虽然招式简单,但是实用,不过要想恰到好处地打出一套漂亮的组合拳,还是要下一番功夫。可以看出 developer 的功底的。如果对这门语言和程序的理解程度。
javascript 的出山也是比较仓促的,Brendan Eich 只用了10天,就设计完成了 javascript 语言的第一版。因此在整个语言的设计上也借鉴了其他语言。js 是一个大杂烩,语法有多个来源。我想当初春丽设计也可能比较仓促,所以先去定性别和体型来吸引游戏玩家吧。
从名字上看,有点抱大腿的意思,当时正当 java 如日中天的时代,有些人认为 javascript 和 java 没什么关系,就是为了抱大腿。其实这样认为并不完全正确。之所以将名称 livescript 改为 javascript 还是有一定原因的。JavaScript 的基本语法和对象体系,是模仿 Java 而设计的。但是,JavaScript 没有采用 Java 的静态类型。正是因为 JavaScript 与 Java 有很大的相似性,所以这门语言才从一开始的 LiveScript 改名为 JavaScript。
原型链是是 javascript 的精髓,也是他的脊椎。原型继承模型:借鉴 Self 语言(Smalltalk 的一种变种)。随意要想深入了解 javascript 就必须搞清 javascript 的原型链。javascript 也是靠他实现了 OO 。
还有一个就是闭包这个功夫了,闭包可是一个好用的特殊技。只有深入理解闭包才能写出 magic 的 javascript 的 code。
更难理解就是函数式编程了,函数式编程概念就很难,更难的是如何从面向对象编程跳出来,用函数式来实现应用程序。这个个人在努力中。
为了保持自身轻巧,也丢掉一些必要功能,例如没有块级别的作用域。直到今天在 es6 上才恢复这些功能。因为今天的 javascript 需要强大到可以活跃到服务端。所以必须补上一些功能。
没有模块化的概念。因为没有模块化的概念,我们必须利用语言特性来模块化组织代码,这样就造成大家每个人都根据自己熟悉语言和方式来创建属于自己的模块化方式。出现五花八门的模块化库和依赖管理库,例如 requirejs,common.js 等等。
待续