*注:接下来关于ECMAScript的文章,讨论的都是基于ES5的,且讨论个人觉得比较重要的
一、语法
区分大小写
语句
- 语句结尾的分号。推荐加入,因为有利于代码压缩、可读性以及代码解析性能。
- 代码块大括弧啊。推荐加入,因为有利于编码意图清晰化,而且也能降低修改代码时出错的几率。
标识符
- 第一个字符必须是一个字母、下划线(_)或一个美元符号($)
- 其他字符可以是字母、下划线、美元符号或数字。 按照惯例,ECMAScript 标识符采用驼峰大小写格式(内置函数),所以个人觉得自定义的标识符也用驼峰式比较好。
严格模式
一种严格的解析执行模型。一些ECMAScript不确定或者不安全的的行为将得到处理。
二、关键字和保留字
关键字是ECMAScript中有特殊功能的字符串,比如if、else、for...... 保留字是ECMAScript未来可能要用到的关键字,比如float、public.......(其实应该是借鉴其他编译语言的关键字,因为JavaScript的趋势暂时是面向对象)
三、变量
ECMAScript 的变量是松散类型的,所谓松散类型就是可以用来保存任何类型的数据。换句话说, 每个变量仅仅是一个用于保存值的占位符而已。定义变量时要使用 var 操作符。注意,ECMAScript里面是没有声明这一说法的,因为编译语言中的变量声明指的是声明类型,给之标志一块对应类型存储大小的内存。ECMAScript是直接定义的,就算没有赋值,也会默认给一个undefined。所以对于没有定义的变量的调用,一般JS引擎报的错是xxx is not defined。至于JS引擎编译到这一语句的时候的具体动作,应该是后面要讨论到的。
四、数据类型
5种简单数据类型:undefined, null, boolean, number, string 1种复杂数据类型:object
typeof 操作服用作监测数据类型。typeof可返回"function";