从零学习前端开发·JavaScript

从零学习前端开发·JavaScript

JavaScript,一种高级编程语言,通过解释执行,是一门动态类型,面向对象(基于原型)的直译语言。它已经由ECMA(欧洲电脑制造商协会)通过ECMAScript实现语言的标准化。它被世界上的绝大多数网站所使用,也被世界主流浏览器(Chrome、IE、FireFox、Safari、Opera)支持。JavaScript是一门基于原型、函数先行的语言,是一门多范式的语言,它支持面向对象编程,命令式编程,以及函数式编程。它提供语法来操控文本,数组,日期以及正则表达式等,不支持I/O,比如网络,存储和图形等,但这些都可以由它的宿主a环境提供支持。

虽然JavaScript与Java这门语言不管是在名字上,或是在语法上都有很多相似性,但这两门编程语言从设计之初就有很大的不同,JavaScript的语言设计主要受到了Self(一种基于原型的编程语言)和Scheme(一门函数式编程语言)的影响[5]。在语法结构上它又与C语言有很多相似(例如if条件语句、while循环、switch语句、do-while循环等)。

在客户端,JavaScript在传统意义上被实现为一种解释语言,但在最近,它已经可以被即时编译(JIT)执行。随着最新的HTML5和CSS3语言标准的推行它还可用于游戏、桌面和移动应用程序的开发和在服务器端网络环境运行,如Node.js。

1995年,当时在网景公司就职的布兰登·艾克正为Netscape Navigator 2.0浏览器开发的一门名为LiveScript的脚本语言,后来网景公司与昇阳电脑公司组成的开发联盟为了让这门语言搭上java这个编程语言“热词”,将其临时改名为“JavaScript”,日后这成为大众对这门语言有诸多误解的原因之一。

JavaScript推出后在浏览器上大获成功,微软公司在不久后就为IE浏览器推出了JScript,以与处于市场领导地位的网景产品同台竞争。JScript也是一种JavaScript实现,这两个JavaScript语言版本在浏览器端共存意味着语言标准化的缺失,对这门语言进行标准化被提上了日程,在1997年,由网景、昇阳、微软、宝蓝等公司组织及个人组成的技术委员会在ECMA(欧洲计算机制造商协会)确定定义了一种名叫ECMAScript的新脚本语言标准,规范名为ECMA-262。JavaScript成为了ECMAScript的实现之一。

完整的JavaScript实现应该包含三个部分,即ECMAScript(语言核心)、DOM(文档对象模型)、BOM(浏览器对象模型)。

推荐书目

  1. 深入浅出JavaScript(中文版)
  2. Eloquent JavaScript
  3. JavaScript权威指南(第6版)
  4. JavaScript高级程序设计(第3版)
  5. JavaScript语言精粹
  6. JavaScript模式
  7. 你不知道的JavaScript(上卷)
  8. jQuery基础教程(第3版)
  9. 锋利的jQuery
  10. You Don't Know JS (book series)

在线课程

  1. W3School JS教程
  2. JS 菜鸟教程
  3. JS 廖雪峰教程
  4. JS 阮一峰教程
  5. MDN 重新介绍JavaScript
  6. JavaScript Tutorials

视频教程

  1. 精通JavaScript开发
  2. JavaScript视频教程
  3. Youtube JavaScript Tutorial for Absolute Beginners

应用推荐(IOS&English ONLY)

  1. Learn JavaScript by Sololearn Inc
  2. L2Code JavaScript – Learn to Code JavaScript by SparkNET Interactive
  3. Mimo: Learn how to code through interactive tutorials and quizzes! by Johannes Berger
  4. Learn JavaScript by Examples by Pretonic

标准文档

  1. Airbnb JS代码规范
  2. Javascript in one pic 中文版
  3. W3C CSS CURRENT STATUS

实践项目

  1. MDN JavaScript基础
  2. GitHub - sethvincent/javascripting: Learn JavaScript by adventuring around in the terminal.
  3. FCC中文JS系列关卡

参考资料

1. [维基百科 JavaScript](https://zh.wikipedia.org/wiki/JavaScript)
编辑于 2016-08-25

文章被以下专栏收录