Page 93 - JavaScript修炼之道
P. 93

附录A  JavaScript快速参考        85

               标识位

                  g     全局匹配:匹配所有的目标字符串,而非第一次出现
                  i     大小写敏感(对Unicode也适用)
                  m     多行匹配:点字符(.)可匹配任意字符,包括换行符
                     多次编译同一个正则表达式会造成性能损耗,尽量对其进行预编译。

                     如果只想检查是否存在匹配而不关心其他细节(例如组)的话,使用regex.test(str)
                     而不是str.match(regex)。
                     如果不需要捕获组的内容作为后向引用,而仅仅是在组上应用一个限定符,请把这个组标
                     记为非捕获型:(?:...)。
               函数
                     声明:function fxName(...) {...}

                     表达式:function(...) {...}
                   声明被“提升”到它们的作用域中:作用域中的每一个函数都可以调用其他函数,而不受它
                                                       ①
               们的声明顺序影响(这里并不需要“原型声明 ”)。
                     "return x;" 退出函数并返回x。
                     "return;" 退出函数返回undefined。
                   函数本身也是一种对象,所以函数拥有自己的方法(比如apply和call),也可以按引用被
               传递(但这样你就会丢失它们的绑定关系:this关键字原有的含义)。这意味着你可以对函数赋
               值,或者将函数作为参数来传递。
                   函数的参数列表中并不限定参数类型,参数名起到的更多是提示作用。JavaScript会把实参赋

               到对应的形参上。需要注意的是,所有的JavaScript参数都像varargs 一样:你可以传递任意数
                                                                           ②
               量的参数,并通过内置的参数变量表,以访问数组的形式访问它们。

               特殊值

                  undefined     未被赋值的变量,未匹配实参的形参
                  null          没有被明确的定义;一般是DOM调用“无结果”的返回值,一般在程序中被作为“空值”赋给
                              某个变量
                  false, true   两个布尔值字面量
                  Infinity      无限的数值(可以带有正负号,比如-Infinity)
                  NaN           非数值(Not-a-Number)表达式的返回值,比如说失败的数值解析。它与任何数值不等,包括
                              它自己,所以一般通过isNaN(n)来判断变量是否为NaN
               ——————————
                  ① C/C++ 语言中在使用一个函数前,必须对其进行原型声明,否则无法使用。*
                  ② C语言中为支持可变参数而采用的机制。*
   88   89   90   91   92   93   94   95   96   97   98