
大小写敏感
关于javascript这门语言,再怎么强调都不为过的特性是大小写敏感。javascript中的关键字、变量、函数名和所有的标识符都必须采取一致的大小写形式。
//"online"、"Online"、"OnLine"、"ONLINE"是四个不同的变量名
[注意]HTML并不区分大小写
保留字(ReservedWord)
和其他任何编程语言一样,javascript保留了一些标识符为自己所用。这些保留字不能用做普通的标识符。由于好多参考书的误导,貌似保留字和关键字是分开的,其实并不是,关键字只是保留字的一部分。保留字包括关键字、未来保留字、空字面量和布尔值字面量
保留字 ReservedWord ::
Keyword
FutureReservedWord
NullLiteral
BooleanLiteral
关键字
break do instanceof typeof
case else new var
catch finally return void
continue for switch while
debugger function this with
default if throw delete
in try
未来保留字
下列词被用作建议扩展关键字,因此保留,以便未来可能采用这些扩展
class enum extends super
const export import
ECMAScript3版本
以上是ECMAScript5的保留字,但在ECMAScript3版本中的保留字并不一样,若希望代码能在基于ECMAScript3实现的解释器上运行的话,应该避免使用以下保留字作为标识符
abstract boolean byte char class constdouble enum export extends final float
goto implements import int interfacelong native package private protected
public short static super synchronized throw transient volatile
预定义变量和函数
此外,javascript预定义了很多全局变量和函数,应该避免把它们的名字用做标识符名
arguments Array Boolean Date decodeURI decodeURIComponent encodeURIencodeURIComponent Error eval EvalError Function Infinity isFinite
isNaN JSON Math NaN Number Object parseFloat parseInt RangeError
ReferenceError RegExp String SyntaxError TypeError undefined URIError
注释(Comment)
不是所有语句都需要javascript解释器去解释并执行。有时需要在脚本中写一些仅供自己参考或提醒自己的信息,并希望javascript解释器能直接忽略掉这些信息,这类信息就是注释
注释能有效帮助了解代码流程,在代码中它们扮演生活中便条的角色,可以帮助我们弄清楚脚本到底干了什么
[注意]注释一定要精确地描述代码,没有用的注释比没有注释还要糟糕
有多种方式可以在javascript脚本中插入注释,包括单行注释、多行注释和HTML风格的注释
【1】单行注释以两个斜杠开头
//单行注释
【2】多行注释又叫块级注释,以一个斜杠和一个星号/*开头,以一个星号和一个斜杠*/结尾
/*
这是一个多行注释
*/
[注意]块级注释/**/中的那些字符也可能出现在正则表达式字面量里,所以块级注释对于被注释的代码块来说是不安全的
/*
var rm_a = /a*/.match(s);
*/
【3】HTML风格的注释仅仅适用于单行注释,其实javascript解释器对<!--的处理和对//的处理是一样的
<!-- 这是javascript中的注释
如果在HTML文档中,还需要以-->来结束注释
<!-- 这是HTML中的注释 -->
但javascript不要求这么做,它会把-->视为注释内容的一部分
[注意]HTML允许上面这样的注释跨越多行,但这种注释的每行都必须在开头加上"<!--"来作为标志
<!-- 我是注释1
<!-- 我是注释2
<!-- 我是注释3
因为javascript解释器在处理这种风格的注释时与HTML做法不同,为避免发生混淆,最好不要在Javascript脚本中使用
HTML风格的注释
空白(WhiteSpace)
空白通常没有意义,有时候必须要用它来分隔字符序列,否则它们就会被合并成一个符号
var that = this;
var和that之间的空白是不能移除的,但其他的空白可以移除
javascript会忽略程序中标识(token)之间的空格。多数情况下,javascript同样会忽略换行符。由于可以在代码中随意使用空格和换行,因此可以采用整齐、一致的缩进来形成统一的编码风格,从而提高代码的可读性
//通过增加空白字符,提高代码可读性for(var i = 1; i < 10; i++){//} javascript将如下这些识别为空白字符WhiteSpace