运算符和条件控制语句

一元运算符

()不能和++一起用,两者处于同一优先级

console.log(++(a--));报错

 

字符串和数值进行比较

console.log("123">123); false 自动转为number

console.log("123A">123); false 自动转为number,如果不能转就会出现NaN

console.log(NaN>NaN); false

undefined派生自null:

console.log(undefined==null); true

console.log(undefined===null); true

比较字符串:比较两者ASCII码,比较第一位

A:65 ; a:96

console.log("bAA">"azz"); false

boolean和null进行比较,自动转成数值

console.log(true>null) true

console.log(true>undefined) flase

比较出现NaN即为flase

等于和恒等

console.log(Number(true)==1); true

console.log(Number(true)===1); true

console.log(Boolean(0)==flase); true

存在数据类型转换时,先进行数据类型转换再比较

null值同0比较

null是一个空对象引用,,对应是引用类型,注:引用类型比较的是地址。

console.log(null==0); flase 等于比较时 不会进行数据转换

console.log(undefined==0); flase undefined为NaN

逻辑运算符
短路原则

&&短路:只要前为假后就不再比

var a=10,b=20,c=30;

console.log(a>b&&b<c);

||短路:只要前为true后就不再比

console.log(c>b||a>b);

!取反

断路原则

&断路,不论前真假,继续比较后

|断路

 

|| 有一个为true 取true

console.log(a>b ||20) //20

var i=0||10

console.log(i);

//两个都是false 取最后一个

var str =undefined || " "

console.log(str)

//如果两个都为true,取第一个true

var str1= "A "||"B"

console.log(str1);

var str2=" "||'false' ||'true'

console.log(str2);

三目运算优先级同对应逻辑运算优先级一样

var str3=(10 >20 ? ' ': '123') ||(30>20 ? ' ' :'456')

console.log(str3);

var str3=10 >20 ? ' ': '123') ||(30>20 ? ' ' :'456')

 

&&:若全为false直接取false ,如果true取最近一个

 

取非“自动转换为boolean

var str6=!123

console.log(str6); //false

 

程序控制语句

条件控制语句:

if:

if 如果(条件一)

else if (条件二)

else

同时满足条件一和条件二,只会进入第一个满足的条件。

如if (条件表达式){

需要执行的代码}

else if(条件表达式){需要执行的代码

}else{需要执行的代码

}

条件表达式为Boolean类型的值,如果不是布尔值会自动转换。

switch

switch是对于对应值的判断,判断条件表达式的值,case中包含值选项。

//恒等判断,值和对应类型应一样

switch(表达式){

case 值(常量): 操作 break;

case 值: 操作 break;

case 值: 操作 break;

default:当上面case都不满足时执行

}

break:跳出switch

posted @   岁新  阅读(25)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示