首页 > 其他分享 >运算符及表达式

运算符及表达式

时间:2022-08-14 21:57:48浏览次数:51  
标签:case console log else 运算符 str true 表达式

运算符及表达式

//()前面不能直接写++
console.log(++(a++)); //()不能和++一起使用


//字符串和数值进行比较(字符串会自动转换为数值)
console.log(1>2);//false
console.log("123">123);//false   自动转换为number类型
console.log("123a">123);//false 转换不了number则会变成NaN类型,布尔类型也是false
console.log(NaN==NaN);//false //出现NaN一般都是false

//undefined (是null的派生子类)和null
console.log(undefined==null);//true
console.log(undefined===null);//false

//字符串和字符串比较   (ASCII码 A65 a97 )  
//(!!进行第一位的比较,若相等再进行第二位的比较)
console.log('a'>'b');//false
console.log('bAA'<'azz' );//false

//布尔类型的值和null进行比较 自动转换成数值类型
console.log(true>null);//true
console.log(true>undefined);//false 出现NaN一般情况下都是false

//恒等  
console.log(Number(true)==1);//true
console.log(Number(true)===1);//true
会先进行转换运算,然后进行比较运算
   
//null及undefined和0进行比较
console.log(undefined==0);//NaN false
console.log(null==0);//false
//null是空对象引用 对应的是一个引用类型,引用类型比较的是地址 即一个地址和0去进行比较          
//在进行等号运算时,null是一个地址,但进行大于小于之类的计算时会转换成number类型

 


逻辑运算符

短路与 & & 断路与 &

&& 所有的同时满足才为真 只要前面有一个是假,后面的就不会看了

& 看完全部

短路或 | | 断路或 |

| | 有一个是true就是true 前面只要出现true 就不看后面的

| 看完全部

! 取反 (优先级高于逻辑运算符)

//  || 有一个为true 则取true的值
var i = 0 ||  10
console.log(i); //10
//   如果两个都是false 取最后一个
var str =  undefined  ||  ''
console.log(str);  //    
// 如果两个都是true的情况下 取第一个为true的
var str =  "A" || "B"
console.log(str);//A


//三目运算       逻辑运算优先级比三目运算高
var str  = (10>20 ? "":"123")||(30>20? "":"456")
console.log(str); //123


// &&   如果出现false 直接取false   如果全是true 取最后一个
var str =  10&&20
console.log(str);//20
var str =  undefined && ""
console.log(str);//undefined
var str1  = null  && 12
console.log(str1);//null


//   !取反   会自动转换成布尔类型
var str = !20
console.log(str);//false

表达式的概念

运算符优先级

运算符描述
. [] () 对象成员存取、数组下标、函数调用等
++ -- ~ ! delete new typeof void 一元运算符
* / % 乘法、除法、去模
+ - + 加法、减法、字符串连接
<< >> >>> 移位
< <= > >= instanceof 关系比较、检测类实例
== != === !== 恒等(全等)
& 位与
^ 位异或
| 位或
&& 逻辑与
|| 逻辑或
?: 三元条件
= x= 赋值、运算赋值
, 多重赋值、数组元素

 

程序控制语句(所有的程序都有的 所有的语言都有)

控制程序的执行(利用条件的控制 利用循环来控制)

1.条件控制语句

if (第一个条件语句) else if (第二个条件 无限加) else (上面每一个条件都不满足的情况下)

if和else同时满足的情况下 会进入第一个满足的条件

if (条件表达式(boolean类型的值 如果当前不是一个boolean的值,会自动转换成布尔类型的值)) { 需要执行的代码

} else if (条件表达式){ 需要执行的代码 } else { //上面都不满足的情况下 需要执行的代码 }

当前只有一句代码的时候,可以省略花括号{},多行代码不行



//从上到下的顺序进行,上面只有一个进入,下面的内容就不会执行了
var  height = prompt('请输入您的身高')//string类型的值,里面相当于提示,可以不写东西
if ( !(height+0)){//NaN
   console.log("你输错了吧?")
}else if(height>220 ||  height<40){
   console.log('超出人类正常标准')
}else if (height >170){
   console.log("符合入伍标准")
}else {
   console.log("很遗憾,你不符合标准哦")
}
if条件嵌套
if(条件表达式){
   if(条件表达式){
       else if(){
           else if(){
               else{
                   
              }
          }
      }
  }
}else{
   
}

2.SWITCH

switch属于对应的值判断 里面的是对应的表达式(产生对应的值)下面的case就是一个个的值选项

case 后面的常量要写成“ string ”类型


switch(表达式){
   case 常量 : 语句块;break;
   case 常量 : 语句块;break;
   case 常量 : 语句块;break;
   case 常量 : 语句块;break;
   default :语句块 (当上面的都不满足时执行该操作)
}
var number = prompt() //string类型值
switch(number){   //!!恒等判断,而不是值判断
       case "1" :console.log("吃饭 ");break
       case "2" :console.log("睡觉");break
       case "3" :console.log("打豆豆 ");break
       case "4" :console.log("喝奶茶 ");break
  default:  console.log("默认值");
}
//break跳出整个代码块 switch代码以及循环代码块 如果没有break 从头走到尾 会从满足条件的第一个值走到default
//switch 不能判断范围 只能对对应的值进行判断
//if 判断范围 在一定区间内进行判断

总结

if else else if 里面的代码只有一行时可以省略{}

if后面不一定要带else 或者else if

if里面的表达式如果不是对应的boolean的表达式,会强制转换为boolean类型(强制转换)

else一定是最后的 而且是不带条件的

if里面可以嵌套if以及相关的内容(else else if都可以嵌套)

switch里面有对应的case和对应的default case表示一个个的选项 对应的default表示默认选项

多个case可以在一行书写 表示对应的处理语句是一个

if可以使用区间值,也可以使用固定值

if效率和switch效率 从一行代码区分来说 if效率会高点 多行代码来说,则switch效率更高(用空间换时间)

标签:case,console,log,else,运算符,str,true,表达式
From: https://www.cnblogs.com/sdcffsdc233/p/16586440.html

相关文章

  • 6)Java运算符
    Java运算符算术运算符:+,-,*,/,%,++,--;赋值运算符:=关系运算符:>,<,>=,<=,==,!=逻辑运算符:&&,||,!位运算符:&,|,^,~,>>,<<,>>>,条件运算符:?:拓展赋值运算符:+=,-=,*=,/=......
  • python推导式与海象运算符
    背景:介绍两种python用于语句优化的用法一、推导式1.推导式简介:Python推导式是一种独特的数据处理方式,可以从一个数据序列构建另一个新的数据序列的结构体。支持:列表(......
  • day 13 正则表达式
    正则表达式正则表达式的概述正则表达式(RegularExpression)是一个描述字符模式的对象,用于对字符串进行匹配,一般用在有规律的字符串匹配中;常用于表单验证以及相关的......
  • 转:python表达式和语句的区别
    本文摘自:Python表达式和语句之间的区别 表达式是一个值,它的结果一定是一个Python对象。当Python解释器计算它时结果可以是任何对象。例如42,1+2,int(‘123’),range(10)等......
  • 表达式 题解
    零、写在前面\(\texttt{洛谷の题目链接}\)与\(\texttt{Topsの题目链接}\)以及\(\texttt{Hydroの题目链接}\)这道题是\(\texttt{CSP-2020}\)普及组的第三题,但个......