函数是一段 JavaScript 代码,定义一次,可以被执行多次。JavaScript 函数是参数化的:函数定义会包括一个形参(parameter)的标识符列表,这些参数在函数体中像 局部变量 一样工作,函数被调用的时候会为形参提供实参(argument)的值。使用实参的值计算返回值,成为该函数的 调用表达式值,调用上下文(invocation context)可以用 this 引用,嵌套函数可以构成闭包(closure)
表达式在 JavaScript 中是短语(phrases),那么语句(statements)就是 JavaScript 整句或命令,语句以分号结束。表达式计算出一个值,语句用来执行以使某件事情发生
对象是 JavaScript 的基本数据类型。是一种复合值:将很多值聚合在一起。对象可以看做是无序集合,每个属性都是一个名/值对。这种基本数据结构还有很多叫法,比如「散列」(hash)、「散列表」(hashtable)、「字典」(dictionary)、「关联数组」(associative array)。JavaScript 还可以从一个称为 原型 的对象继承属性
JavaScript 对象是动态的 —— 可以新增属性也可以删除属性,除了字符串、数字、布尔值、null 和 undefined 之外,JavaScript 中的值都是对象
对象是可变的,通过引用操作对象原对象也会受到影响
数组是值的 有序集合。每个值(任意 JavaScript 数据类型)叫做一个元素,元素在数组中的位置叫索引。JavaScript 数组是无/弱类型的(untyped),数组元素可以是任意类型
JavaScript 数组是 动态的,根据需要它们会增长或缩减,创建的时候不须要声明一个固定的大小
JavaScript 数组可能是 稀疏的,数组元素索引不一定要连续
JavaScript 数组是 JavaScript 对象的特殊形式。数组的实现是经过优化的,用数字索引来访问数组元素一般来说比访问常规的对象属性要 快很多
表达式(expression)是 JavaScript 中的一个短语(phrases),JavaScript 解释器会将其计算(evaluate)出一个结果。程序中的常量、变量名、数组访问等都是表达式
简单表达式组合成复杂表达式最常用的方法就是使用运算符(operator)
第一章 主要介绍 JavaScript 的大概情况、基本语法。之前没有 JavaScript 基础的看不懂也没关系,后续章节会有进一步的详细说明,我会通读一遍 《JavaScript 权威指南》,然后根据个人的理解整理出来我认为重要的核心概念,同时我也会参考原版英文版 JavaScript The Definitive Guide,取一些关键性、重要的单词做补充,以及对原版和译版做的一些勘误
中文排版指南遵守 中文文案排版指北,欢迎批评批正
词法结构(Lexical Structure)是程序语言的一套基础性规则,用来描述如何使用这门语言来编写程序
JavaScript 中的数据类型分为两类:原始类型(primitive type)和对象类型(object type)。原始类型包括数字、字符串和布尔值
JavaScript 中有两个特殊的原始值:null(空)和 undefined(未定义),它们不是数字、字符串或布尔值。它们通常代表了各自特殊类型的唯一的成员
除此之外的就是对象了。对象是属性(property)的集合,每个属性都由「名/值对」(值可以是原始值或者对象)构成。JavaScript 对象很多时候也是 JSON/map/hash/dict,只是在不同语言中叫法不一样
vim 一些插件需要其它编程语言支持,比如 neocomplete 自动补全插件需要 lua 官方下载的 vim 版本是不带这种第三方语言支持的,得自己手动编译一个支持的版本。但是 Windows 下编译源代码需要选择一个 GUN 工具集,比较流行的有 Cygwin, MinGW。主要是为了使用一些编译源码的工具,比如 gcc, make等
一直以来被称为编辑器之神的 vim 在 Windows 下很难发挥其强大的功能,本文从实用的角度阐述如何调校出一个比较好用的 vim
不过仍然要说明下,在众多 vim 构建版本中 Mac OS 平台的 MacVim 是我认为最好用的一个版本。由于自己公司主力用 Windows,又因笔者是一枚对编辑器颜值体验有要求的前端工程师, 所以才有了下文 ^!^