第4章 变量、函数和运算符
无论var语句是否真正会被执行,所有的var语句都提前到包含这段逻辑的函数的顶部执行。变量声明提前意味着:在函数内部任意地方定义变量和在函数顶部定义变量是完全一样的。一种流行的风格是将所有变量声明放在函数顶部而不是散落在各个角落。在函数顶部使用单var语句。
函数声明也会被提前。
推荐:
- 先声明JavaScript函数然后使用函数。
- 函数内部的局部函数应当紧接着变量声明之后声明。
- 函数声明不应当出现在语句块之内。应当在条件语句的外部使用。
- 函数调用:在函数名和左括号之间没有空格。匿名函数用一对圆括号包裹起来。
- 不推荐将“use strict”用在全局作用域中。如果希望在多个文件中应用严格模式而不必写很多行“use strict”的话,可以使用立即执行的函数。
- 由于强制类型转换的缘故,推荐使用===和!==。所有情形都应当使用===和!==,尤其是涉及到假值比较的场景。
- 禁止使用eval()和Function,也禁止给setTimeout()和setInterval()传入字符串参数。
- 禁止使用原始包装类型(String、Number、Boolean)