JSON.parse()方法
在使用原生JSON.parse()方法解析json形式的字符串的时候,例如:1
2var str = '{"key":"value"}';
JSON.parse( str );
可以返回期望的json对象,但是如果改写上述代码为1
2var str = "{'key':'value'}";
JSON.parse( str );
则会报错,也就是说使用JSON.parse()方法需要被解析的json形式字符串要严格使用双引号分别包裹键和值
javascript 中处理货币问题
在使用javascript处理货币运算(主要是加减乘运算)的时候,会碰到对浮点数的运算(整数运算是没有问题的),然后某些情况就会出现算术上的差异,这主要是因为计算机是以二进制方式处理数据,对于某些十进制的运算不能得到精确值,比如:1
2
3
4var price = 56.06;
console.log( price*11 );
console.log( price - 0.01 );
以上两种情况都会输出一长串结果,并不符合我们的预期。
针对上述情况,有一两种解决方案:
方案一:对计算结果进行四舍五入运算,具体做法是使用Math.round()函数,因为这个函数返回最接近的整数,所以要先把原数据扩大100倍,再对舍入的结果缩小100倍方案二:从一开始就对所有计算中的数据扩大100倍,使之变为整数运算,之后再对计算的最终结果缩小100倍,得到正确的结果(此处又掉坑,比如8.55*100就得不到855)
1 | // 方案一: |