全栈必备全栈必备JavaScript基础基础
JavaScript 来了
1995年,诞生了JavaScript语言,那一年,我刚刚从大学毕业。在今年RedMonk 推出的2017 年第一季度编程语言排行榜
中,JavaScript 排第一,Java 第二,Python 反超 PHP 排第三,PHP 第四,C# 和 C++ 并列第五。RedMonk 排名的主要依旧
是各种编程语言在 Stack Overflow 和 GitHub 上的表现,比如编程语言在 Stack Overflow 上的讨论数量,在 GitHub 上的代码
量等。尽管有一定的片面性,还是说明了JavaScript 应用的广泛性。从全栈的角度看,Javascript 是必备的一种编程语言。
ECMAScript 和 JavaScript 的关系
JavaScript 诞生于Netscape,但是在1996年,微软发布了与JavaScript 兼容的JScript,面对兼容和发展的需要,网景公司的
先贤们努力加入了 ECMA International 标准化组织,致力于JavaScript 的标准化,命名为ECMAScript。后来,由于历史的原
因, JavaScript标准的开发主体变成了Mozila基金会。关于ECMAScript 的最新版本可以参阅
https://tc39.github.io/ecma262/。
简单地,ECMAScript 是JavaScript语言的标准规范,就像C++的标准相对于C++语言那样。
JavaScript 是怎样的语言
在mozilla 开发者网站上是这样描述JavaScript的:
JavaScript (JS) is a lightweight interpreted or JIT-compiled programming language with first-class functions.
意思是说JavaScript 是一个轻量级解释或即时编译的函数式语言,里面有很多的概念,轻量、解释、编译、即时编译、函数
式。在老码农看来,简单起见,理解为扩展语言较为方便。
一般的编程语言都有着自己相对独立的执行环境,但是JavaScript的执行环境依赖在宿主环境中,宿主环境尤其是客户端的宿
主环境提供了更多统一的环境变量,比如浏览器中的window,document等。实际上,JavaScript 和DOM 是可分的,对于不
同的运行环境,有着不同的内置宿主对象。JavaScript作为扩展语言在内置的宿主环境中运行,全局对象在程序启动前就已经
存在了。
JavaScript的时空基础
从空间观的角度看,JavaScript包括数据结构,操作符,语句与表达式,函数;从时间的角度看,包括作用域,处理方式,模
块与库。关于技术系统的时空观,可以参见《面向全栈的技术管理》一文。
数据结构
JavaScript 中包含的六种基本类型:
Boolean