最近准备深入学习JS,所以拜读了《JavaScript语言精粹》这本书。
很赞!做了一些笔记,发布上来。
2.1 空白
空白可能表现为格式化字符或注释的形式。空白通常没有意义(对于我们这种有代码洁癖的程序猿是必不可少的),但是偶尔需要用它来分隔字符序列,否则它们就会被合并成一个单一的符号。例如,对如下代码来说:
var和that之间的空格是不能被移除的,但是其他的空格都可以被移除。
JavaScript提供两种注释形式,一种是用 /* */ 包围的块注释,另一种是以 // 为开头的行注释。注释应该被充分的用来提高程序的可读性。必须注意的是,注释一定要精确地描述代码。没有用的注释比没有注释更糟糕。
用 /* */ 包围的块注释形式来自于一门叫 PL/I (Programming Language One)的语言。 PL/I 选择那些不常见的符号对作为注释的符号标志,因为它们除了可能在字符串的字面上之外,不大可能在这门语言的程序中出现。在JavaScript中,那些字符对也可能出现在正则表达式字面上,所以块注释对于被注释的代码块来说是不安全的。例如:
导致了一个语法错误。所以,我建议避免使用 /* */ 注释,而用 // 注释代替它。在本书中,将只会使用 // 注释。
2.2 标识符
标识符由一个字母开头,其后可选择性地加上一个或多个字母、数字或下划线。标识符不能使用下面这些保留字:
在这个列表中的大部分保留字尚未用在这门语言中。这个列表不包括一些本应该被保留而没有保留的字,诸如 undefined、NaN 和 Infinity 。JavaScript不允许使用保留字来命名变量或参数。更糟糕的是,JavaScript不允许在对象字面量中,或者在一个属性存取表达式的点号之后,使用保留字作为对象的属性名。
标识符被用于语句、变量、参数、属性名、运算符和标记。
2.3 数字
JavaScript只有一个单一的数字类型。它在内部被表示为64位的浮点数,和Java的double一样。不像大多数其他的编程语言,它没有分离出整数类型,所以 1 和 1.0 是相同的值。这提供了很大的方便,因为它完全避免了短整数的溢出问题,并且你须要知道的关于数字的一切就是它是一种数字。这样就避免了一大类因数字类型导致的错误。
如果一个数字字面量有指数部分,那么这个字面量的值是由e之前的部分乘以10的e之后部分的次方计算出来的。所以300和3e2是相同的数字。
负数可以用前缀运算 - 构成。
值 NaN 是一个数值,它表示一个不能产生正常结果的运算结果。NaN 不等于任何值,包括它自己。你可以用函数 isNaN( number ) 检测NaN。
值 Infinity 表示所有大于 1.79769313486231570e-308的值。
数字拥有方法。JavaScript有一个对象 Math,它包含一套作用于数字的方法。例如,可以用 Math.floor( number ) 方法将一个数字转换成一个整数。