欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

5.JavaScript-算数运算符的注意点

程序员文章站 2022-05-28 16:52:53
...

1.加法运算的注意点

1.1任何非数值类型的数据在参与加法运算之前,都会被自动的转换为数值类型之后,再参与运算

let bool = true;
let num = 1;
let sum = bool + num; // 先将true转换为数值1 才参与计算
console.log(sum); // 2

1.2任何数据和NaN运算,结果都是NaN

let nan = NaN;
let num = 1;
let sum = nan + num;
console.log(sum); // NaN

1.3任何数据和字符串相加,都会被先转换成(字符串)之后再运算

原因是通过 "+" 可以将其他类型转换成字符串类型,(本质就是调用String()函数)

let str = "123";
let num = 1;
let sum = str + num;
console.log(sum); // 1231

2.减法运算的注意点

2.1任何非数值类型的数据在参与加法运算之前,都会被自动的转换为数值类型之后,再参与运算

let bool = true;
let num = 1;
let sum = bool - num; // 先将true转换为数值1 才参与计算
console.log(sum); // 0

2.2任何数据和NaN运算,结果都是NaN

let nan = NaN;
let num = 1;
let sum = nan - num;
console.log(sum); // NaN

2.3任何数据和字符串相减,都会先把字符串转换成(数值类型)之后再运算

let str = "123";
let num = 1;
let sum = str - num;
console.log(sum); // 122

3.乘法和除法运算的注意点

3.1任何非数值类型的数据在参与加法运算之前,都会被自动的转换为数值类型之后,再参与运算

let bool = true;
let num = 1;
let sum = bool * num; // 先将true转换为数值1 才参与计算
console.log(sum); // 1

3.2任何数据和NaN运算,结果都是NaN

let nan = NaN;
let num = 1;
let sum = nan * num;
console.log(sum); // NaN

3.3任何数据和字符串相乘/除,都会先把字符串转换成(数值类型)之后再运算

let str = "123";
let num = 2;
let sum = str * num;
console.log(sum); // 246

4.取模(取余)运算注意点

4.1 如果m>n,那么就正常取余
4.2 如果m<n,那么结果就是m
4.3 如果n是0,那么结果就是NaN
4.4 取余运算结果的正负性,取决于m而不是n

// m>n,正常取余
let m = 5;
let n = 2;
let res = m % n;
console.log(res);   // 1
// m<n,结果为m
let m = 2;
let n = 5;
let res = m % n;
console.log(res);   // 2
// 如果n是0,那么结果就是NaN
let m = 2;
let n = 0;
let res = m % n;
console.log(res);   // NaN
// 取余运算结果的正负性,取决于m
let m = -12;
let n = 5;
let res = m % n;
console.log(res);   // -2