运算符
运算符
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);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~