运算符

运算符

1.算术运算符

1.1 + 加法运算
// 算数运算符加法  +  
let a = 1;
let b = 9;
console.log(a + b); // 10

注意:浮点数计算有问题

为什么?

在浮点数计算的时候会出现精度丢失的问题;

这个问题,不仅仅会出现在前端,java、php、go、nodejs等都会出现;

let c = 0.1;
let d = 0.2;
console.log(c + d); //0.30000000000000004

字符串和任何数相加等于向后拼接字符串

let w = 8;
let u = '6';
console.log(w + u); //86
1.2 -减法运算
// 算数运算符 减法
let a = 9;
let b = 5;
console.log(a - b); // 4
console.log(b - a); // -4

// 浮点数
let c = 0.3;
let d = 0.7;
console.log(d - c); //0.39999999999999997 精度丢失

let s = d - c;
// s.toFixed(2)  2是保留小数点后几位
console.log(parseFloat(s.toFixed(2)));

// 数值与字符串相运算

let t = 8;
let r = '8';
console.log(t - r); //0
1.3*乘法运算
// 算数运算符 乘法`*`
let a = 5;
let b = 6;
console.log(a * b); //30 
//  浮点数
let c = 0.1;
let d = 0.4;
console.log(c * d); //0.04000000000000001 精度丢失

数值与字符串相运算

let f = 5;
let g = '6';
console.log(f * g); //30
1.4/除法运算
// 算术运算符 除法`/`
let a = 9;
let b = 3;
console.log(a / b); // 3

// 浮点数运算
let c = 0.00002;
let d = 5;
console.log(c / d); //0.000004000000000000001 精度丢失

// 字符串数值

let s = 5;
let w = '5';
console.log(s / w); //1
1.5**指数运算
// 算术运算符,指数`**`
let a = 2;
// 2**8 相当于  2*2*2*2*2*2*2*2
// console.log(a**8); //256
// console.log(2*2*2*2*2*2*2*2)

// 多个指数
// 指数运算是先算后面的指数,从后向前运算
// a**a = 4
// a**(a**a) = 16
// a**(a**(a**a))=65536
console.log(a**a**a**a); //65536
1.6%余数
// 算数运算符   余数%
let a = 10;
let b = 3;
console.log(a % b); // 1
1.7数值运算
let a = 1;
console.log(+a); // 1
// +a 相当于 0 + a
console.log(-a); //-1
// -a 相当与 0 - a;

console.log(-true); //-1
1.8一元运算符

一元运算符"++"、"--"

// 只能操作一个值的运算符
let a = 1;
// a++; // 2
// a++ 相当于  a = a + 1 相当于  a += 1; 相当于 ++a;
// a = a + 1;
// a += 1;
// ++a;
console.log(a);

// a++ 和 ++a的区别
// a++ 是先拿到a,再+1
// ++a  先+1 再 拿到a进行计算  0+1+a;


// a--;
// a-- 相当于  a = a - 1 相当于  a -= 1; 相当于 --a;
// a-- 和 --a的区别
// a-- 是先拿到a,再-1
// --a  先-1 再 拿到a进行计算  0-1-a;
console.log(a);
1.9 赋值
// 赋值运算符
var str = 123;
let num = str;
console.log(num)

// 运算结合
let a = 1;
// 加法
// a++;
// ++a;
// a = a + 1;
// a += 1;

// 减法
// a--;
// --a;
// a = a - 1;
// a -= 1;

// 指数
let b = 2;
// b = b ** 3;等同于 b **= 3;
// b **= 3;
// console.log(b)

// 乘法
// b = b * 4;等同于 b *= 4;
// console.log(b)

// 除法
// b = b / 2; 等同于 b /= 2;
// console.log(b)

// 余数
// b = b % 3; 等同于 b %= 3;
console.log(b);
posted @ 2022-05-10 20:55  初晓微芒  阅读(85)  评论(0编辑  收藏  举报