Page 98 - JavaScript修炼之道
P. 98
90 附录A JavaScript快速参考
return s.toUpperCase();
}) // => 'heLLo'
'a b c'.split(' ') // => ['a', 'b', 'c']
'a b \nc'.split(/\s+/) // => ['a', 'b', 'c']
'abc'.split('') // => ['a', 'b', 'c']
'a b c'.split(' ', 2) // => ['a', 'bc'](指定了最多分割为多少个)
'hello'.substring(2) // => 'llo'
'hello'.substring(2, 4) // => 'll'(指定了子串结束位置)
'hello'.slice(-3) // => 'llo'(从倒数第3个字符开始)
'hello'.slice(-3, -1) // => 'll'(指定了结束位置,到倒数第2个字符)
'ÉlodiE'.toLowerCase() // => 'élodie'
'déjà ça'.toUpperCase() // => 'DÉJÀ ÇA'
'hello'.match(/(.)\1/) // ['ll', 'l'] †
下标0处为完整匹配,下标1处为组1捕获的内容,依此类推。
一些全局的好东西
var x = 4;
eval('x * Math.sqrt(16)') // => 20 - 请小心使用!
decodeURIComponent('%C3%89lodie') // => 'Élodie'
encodeURIComponent('S & H') // => 'S%20%26%20H'
parseInt('010') // => 8 †
parseInt('08') // => NaN †
parseInt('010', 10) // => 10 ††
parseFloat('314.15e-2') // => 3.1415
isNaN(parseInt('foobar')) // => true
Math.PI.toFixed(3) // => 3.142
(5.31762).toFixed(3) // => 5.318
Math.PI.toPrecision(3) // => 3.14
如果没有显式声明基数,parseInt会自动作出判断。前缀为0代表八进制,因此……
如果显式声明基数的话,就不会出现混乱了。推荐使用这种形式调用parseInt。
标识符和保留字
标识符的起始字符必须是$、_ 或者Unicode字符(即使是这样,你仍应避免在标识符中包含
怪异的字符),接下来的字符可以是任意Unicode字符。
JavaScript现在的保留字不超过56个,而且它们中的大多数并不是当前版本JavaScript中真正
的关键字。
abstract boolean break byte case catch char class const continue debugger default delete
do double else enum export extends final finally float for function goto if implements import
in instanceof int interface long native new package private protected public return short
static super switch synchronized this throw throws transient try typeof var void volatile
while with