JavaScript中数字运算包括加法、减法、乘法和除法等基本操作,使用+、`、*和/运算符。还有取余(%)、幂(Math.pow())和取整(Math.floor(), Math.ceil(), Math.round()`)等高级运算。
基本概念与函数
1、parseInt() 和 parseFloat()
parseInt(string, radix): 解析一个字符串并返回一个整数。
示例:parseInt("10") 返回10。
示例:parseInt("19", 10) 返回19,表示将字符串"19"解析为十进制整数。
示例:parseInt("11", 2) 返回3,表示将字符串"11"解析为二进制整数。
2、数值转换
JavaScript中的所有数字都以IEEE754标准的64位浮点数形式存储。
整数和浮点数在底层都是相同的数据类型。
算术运算符
1、加法 (+)
用于两个数值相加,或进行字符串拼接。
示例:12 + 10 结果为22。
示例:"12" + "10" 结果为"1210"。
示例:12 + "12" 结果为"1212"。
2、减法 ()
用于两个数值相减。
示例:12 10 结果为2。
示例:12 "12" 结果为0(字符串先转换为数字)。
3、**乘法 (*)
用于两个数值相乘。
示例:12 * 10 结果为120。
示例:"12" * "10" 结果为120。
4、除法 (/)
用于两个数值相除。
示例:12 / 10 结果为1.2。
示例:12 / "10" 结果为1.2(字符串先转换为数字)。
5、求余 (%)
用于两个数值求余数。
示例:12 % 10 结果为2。
示例:12 % "10" 结果为2(字符串先转换为数字)。
赋值运算符
1、基本赋值 (=)
用于将值赋给变量。
示例:var x = 7;。
2、复合赋值
+=:a += b 等效于a = a + b。
=:a = b 等效于a = a b。
***=**:a *= b 等效于a = a * b。
/=:a /= b 等效于a = a / b。
%=:a %= b 等效于a = a % b。
问题与解答
1、问题一:为什么在JavaScript中使用== 和=== 比较数字时会有不同?
解答:在JavaScript中,使用== 进行比较时,会进行类型转换,而=== 则不仅会比较值,还会比较它们的类型。'5' == 5 是true,因为字符串'5' 被转换成了数字5;但'5' === 5 是false,因为它们的类型不同。
2、问题二:如何在JavaScript中处理大数计算以避免精度问题?
解答:可以使用第三方库如decimal.js 或bignumber.js,这些库提供了任意精度的算术运算,可以有效避免JavaScript原生Number类型带来的精度问题,使用decimal.js 进行高精度计算:
“`javascript
const Decimal = require(‘decimal.js’);
let x = new Decimal(0.1);
let y = new Decimal(0.2);
let z = x.plus(y); // z现在是0.3,没有精度损失
“`

QQ客服