前言
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(浏览器对象模型)。
前端级别思考
Winter:P5 看承担 P6 看深度 P7 看体系 P8 看规划 P9 看创造
- P5(前端开发工程师):独立执行,娴熟运用
- P6(高级前端开发工程师):主动执行,辅助团队
- P7(技术专家):融会贯通,自有一套
- P8(高级技术专家):锐意进取,运筹帷幄
- P9(资深技术专家):无中生有。可以看下 @玉伯 『从前端技术到体验科技(附演讲视频)』 以及他们的『 参加第一届蚂蚁体验科技大会 SEE Conf 2018 是什么体验?』
- P10(研究员)越往上越不要自我局限,我们首先是工程师,而前端只是你的一个出发点,不要成为你的界限。
推荐书目
深入浅出JavaScript(中文版)
Eloquent JavaScript
JavaScript权威指南(第6版)
JavaScript高级程序设计(第3版)
JavaScript语言精粹
JavaScript模式
你不知道的JavaScript(上卷)
jQuery基础教程(第3版)
锋利的jQuery
You Don’t Know JS (book series)
在线课程
W3School JS教程
JS 菜鸟教程
JS 廖雪峰教程
JS 阮一峰教程
MDN 重新介绍JavaScript
JavaScript Tutorials
视频教程
精通JavaScript开发
JavaScript视频教程
Youtube JavaScript Tutorial for Absolute Beginners
应用推荐
(IOS&English ONLY)
Learn JavaScript by Sololearn Inc
L2Code JavaScript – Learn to Code JavaScript by SparkNET Interactive
Mimo: Learn how to code through interactive tutorials and quizzes! by Johannes Berger
Learn JavaScript by Examples by Pretonic
标准文档
Airbnb JS代码规范
Javascript in one pic 中文版
W3C CSS CURRENT STATUS
MDN JavaScript基础
在线资源
大前端导航
Frontend Stuff
Frontend directory
Frontend Interview Questions
实践项目
GitHub - sethvincent/javascripting: Learn JavaScript by adventuring around in the terminal.
参考资料
小结
关于作者
** 珠峰
WEB开发与管理相结合,注重技术与应用结合。现居上海。