JS运算符及其应用
一.JavaScript 运算符
1.算术运算符
进行数学运算的符号
+ - * / %
+:当符号两边都是数字或布尔的时候,会进行数学运算,但当有一边是字符串的时候,则会变成字符串的拼接
2.赋值运算符
进行赋值操作的符号 =
3.比较运算符
进行比较运算的符号 > < >= <=
==(等于) ===(全等于)
!=(不等于) !==(不全等于)
3.1字符串和数值进行比较(字符串会自动转为数值)
1 //字符串和数值进行比较 2 conso1e.1og(1>2); //fa1se 3 console.log('123' > 213); //false自动转为number 4 console.1og("123A" > 213); //fa1se 自动转为number 如果不能转就会出现NaN
3.2出现NaN一般都是false
console.log(NaN==NaN); //false
3.3undefined是null的派生所以对应的值是相等的
1 //undefined (nu71的派生子类)和 nu11 2 console.log(undefined == null); //true 3 console.log(undefined === null);//false
3.4字符串和字符串进行比较(第一位ASCII码比较A:65 a:97)
1 //宁符串和宁符串比较(ASCII码A:65 a:96自动进行ASCII码的比较 比较第一位的 2 console.1og('a' > 'b'); //fa1se 3 console.log("a" < 'b'); //true 4 console.log("bAA" < 'azz');//fa1se
3.5布尔类型的值与null进行比较
1 //boolean类型的值和null进行比较 自动转数值(出现NaN就是false) 2 console.log(true > null); //true 3 console.log(true > undefined); //false
3.6先转换再进行比较
1 //恒等: 这个两个内容是一个内容 2 console.log(Number(true)==1); //true 3 console.log(Number(true)===1); //true 4 console.log(boolean(0)===false); //true
1 //fundefined和0进行比较 2 console.log(undefined == 0);//NaN false 3 //null是空对象引用,对应的是一个引用类型,引用类型比较的是地址 4 //null和0进行比较: 5 console.log(null == 0);
4.逻辑运算符
进行逻辑运算的符号
&&:与 运算
||:或 运算
!:非 运算
4.1逻辑运算符的应用
1 var a=10,b=20,c=30; 2 console.log(a>b && b<c); //false 3 console.log(a<b && c>b); //true 4 5 // ||有一个true就是true,前面只要有一个true就不看后面的,短路或(| 是断路或) 6 console.log(a<c || a>c);//true 7 8 // !取反 9 console.log(!a>b); //false 这里是对a取反,不是对a>b取反 10 console.log(!(a>b));//true,对a>b这个式子取反 11 console.log(!(c>b) || a>b); //false 12 13 //如果每一个都是false,取最后一个 14 var str1 = undefined || ''; 15 console.log(str1); //'' 16 17 //如果有true,则取第一个为true的 18 var str2 = 'A' || 'a'; 19 console.log(str2); //A 20 21 //三目运算符 三目运算符的优先级低于逻辑运算符 22 var str3 = (10 > 20 ? '':'123') || (20 > 10 ? '':'345'); 23 console.log(str3);//123
5.自增自减运算符
单独对一个变量进行 +1 或 -1 操作的符号 ++ -- 分前置和后置两种情况
!!! ()前面不能直接写++ / --
6.位运算 (化为二进制再进行位的变化运算)
>>右移 <<左移 ~~去掉小数
计算顺序:先算括号,++或-- ----> 乘除取余 ----> 比较运算 ----> 逻辑运算 ----> 赋值
7.三元运算符(三目运算)
表达式(boolean类型表达式)? true的内容 :false的内容
1 var a = 10; 2 var b = 20; 3 a>b ? 10:20 //20 4 '123a' / 10 ? 'hello':'hi' //hi
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗