字符串转化为数字
在Node.js源代码里,经常见到使用各种符号处理字符串为数字的方法。
- +
- *
- ~~
- >>
- >>>
+
将字符串转化为数字,可在前面加+号:
var si = +'12'; // 12
var sn = +'-12'; // -12
var sf = +'12.7'; // 12.7
var ss = +'12s'; // NaN
*
使用乘法符号*号,将字符串转化为数字:
var si = '12' * 1; // 12
var sn = '-12' * 1; // -12
var sf = '12.7' * 1; // 12.7
var ss = '12s' * 1; // NaN
~~
使用~~可以将字符串转化成整数:
var si = ~~'12'; // 12
var sn = ~~'-12' // -12
var sf = ~~'12.7'; // 12
var snf = ~~'-12.7'; // -12
var ss = ~~'12s'; // 0
>>
运算符>>原意是带符号右移,使用>> 0可以将字符串转化成整数:
var si = '12' >> 0; // 12
var sn = '-12' >> 0; // -12
var sf = '12.7' >> 0; // 12
var snf = '-12.7' >> 0; // -12
var ss = '12s' >> 0; // 0
>>>
运算符>>>原意是不带符号右移,可以使用>>> 0将一个字符串转化为整数:
var si = '12' >>> 0; // 12
var sn = '-12' >>> 0; // 4294967284
var sf = '12.7' >>> 0; // 12
var ss = '12s' >>> 0; // 0