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

2019-04-02  本文已影响0人  乄Denve彡

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任何数据和字符串相加,都会被先转换成(字符串)之后再运算\color{red}{★}

原因是通过 "+" 可以将其他类型转换成字符串类型,(本质就是调用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任何数据和字符串相减,都会先把字符串转换成(数值类型)之后再运算\color{red}{★}

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任何数据和字符串相乘/除,都会先把字符串转换成(数值类型)之后再运算\color{red}{★}

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

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

\color{red}{格式:m\%n = 余数}

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
上一篇下一篇

猜你喜欢

热点阅读