《Javascript - The Definitive Guide》阅读杂记一
轻松的转换字符串为数字
标准的你可以这么写
var total = parseInt("12",10) + 2; //用parseInt转换目标为数字,别忘了第二个参数(进制)
其实你还可以
var total = "12" * 1 + 2; //乘法之后自动转换为数字var total = "12" - 0 + 2; //减法之后自动转换为数字
不过虽然方便,也只可酌情使用 :) 另外最近了解到两种其他的转换方式:
- 用一元操作符(unary)
+,具体的例子可以看这里。然后我发现mootools里面早就用了类似的代码,倒是我到现在才发现return +new Date; - 使用零填充右移位操作符(Right shift with zero extension)可以看lifesinger的将任意值转换为自然数
注意parseInt的第二个参数
之前文章有提到过,这个可是重大的陷阱之一。parseInt可以带入第二个参数,表示以何种进制来解析目标字符串。如果不带参数2,遇到某些以0开头的字符串,就会得到错误的值(如果字符串以0开头(不包括0x或者0X),parseInt会默认使用8进制来解析。)。例如
parseInt("077"); //我的目的是想转换成77,但是输出结果确是63parseInt("077",10); //设定第二个参数为10,强制采用十进制,这回正确了
呃....你发文章的频率越来越赶不上你换主题的频率了...
PS: 我很喜欢上面那三片儿云
估计是强迫症,现在做主题的成了自我提升的唯一途径,工作基本上都是体力活... :(
又换皮啦,围观
@old9, 我还等着看你的blog更新咧,有想法恢复么? :)
@fireyy, 谢谢关心啊 :) 目前就这么凑合着吧,平时也不写啥东西,而且feed是全文的,恢不恢复也无所谓了,呵呵。