JS运算符

一、赋值运算符     

   = 将右边的值赋给左边变量 

二、算数运算符

  +  -  *  /  %  加 减 乘 除 取余

三、符合运算符

  +=  -=  *=  /=  %=

四、自增或自减运算符

  ++ -- 变量的自增和自减指的是在自身基础上进行 +1或-1 的操作

注意:

  自增或自减运算符在单独与变量结合时,放前和放后没有区别(b++;++b;)

  如果自增或自减运算符与其他运算符结合使用,要区分前缀和后缀,做前缀,那就先++/--,再进行赋值或其他运算,如果做后缀,就先结合其他运算符,再进行++ / --

var s = true;
s++;
console.log(s,typeof s)        //2 Number

var n =5; var r =n++ + ++n + n++ + ++n +n; //5+ 7+ 7+ 9+ 9 //分解 var r1=n++; //r1=5 n=6 var r2=++n; //r2=7 n=7 var r3=n++; //r3=7 n=8 var r4=++n; //r4=9 n=9 var r5=+n; //r5=9 n=9

五、关系运算符/比较运算符

  > < 

  >= <=

  ==(相等) !=(不相等)

  ===(全等) !==(不全等)

(1)关系运算符用来判断表达式之间的关系,结果永远是布尔值 true/false

(2)使用

  字符串与字符串之间的比较

  依次比较每位字符的Unicode码,只要某位字符比较出结果,就返回最终结果

  其他情况

  一律将操作数转换为number进行数值比较,如果某一操作数无法转换number,则变成NaN参与比较运算,结果永远是false

var res1=10>2;
var res2='10'>'2';                    //'1'>'2'
var res3 = '人生苦短'>'我学Python';     //'人'>'我';
console.log(res1,res2,res3)           //true false false
var s1 = '人';
var s2 = '我';
//获取字符的 Unicode编码charCodeAt(index)
console.log(s1.charCodeAt(),s2.charCodeAt(),res3)//20154 25105 false

var res4 = '10'>2;
var res5 = '10'>true;            //10>1
var res6 = true > false;         //1>0
console.log(res4,res5,res6)      //true true true

var res7 = '10'>undefined;       //10>NaN  false
var res8 = '10'>null;            //10>0
var res9 = 'true' > false;       //NaN>0
console.log(res7,res8,res9)      //false true false

(3)相等与全等

  相等 : 不考虑数据类型,只做值的比较(包含自动类型转换)

  全等 : 不会进行数据类型转换,要求数据类型一致并且值相等才判断全等

var r1 = 10=='10';
var r2 = 10==='10';
console.log(r1,r2);    //true false

六、逻辑运算符 

1.&& 逻辑与:表达式同时成立,最终结果才为true;全1则1

2.|| 逻辑或:表达式中只要有一个成立,最终结果即为true; 有1则1

//给出闰年判断的条件 能被4整除,不能被100整除,或者被400整除
var year=2015;
var r=year%4==0&&year%100!==0 ||year%400==0;
console.log(typeof year,r)        

//"number" false

3.! 逻辑非:对已有表达式的结果取反

注意 : 除零值以外,所有值都为真

var r1 = !5;         //false
//逻辑非的优先级高于关系运算
var r2 = !5<3;        //true  false<3
console.log(r1,r2)    //false true

七、三目运算符

语法 :表达式1 ? 表达式2 : 表达式3;

过程 :

  判断表达式1是否成立,返回布尔值

  如果表达式1成立,执行表达式2;

  如果表达式1不成立,执行表达式3;

var a = 10;
if (a>5){
    console.log('成立');    //成立
}else{
    console.log('不成立');
}
var res=a>5?'ok':'error';
console.log(res)    //ok
a = 3;
var res2 = a>5?'ok':a>=3?'>=3':'<3';
console.log(res2)    //>=3
 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Title</title>
 6     <script>
 7         /*
 8         接收用户输入的身高(m)和体重(kg)
 9         计算BMI=体重/(身高*身高)
10         对bmi保留一位小数
11         并且判断身体质数:
12         bmi<18.5 '瘦'
13         18.5<bmi<23.9 健康
14         bmi>23.9 肥胖
15         */
16         var m=prompt('请输入身高');
17         var kg=prompt('请输入体重');
18         bmi=kg/(m*m);
19         b=bmi.toFixed(1);
20         var res=bmi>=23.9?'肥胖':bmi=<18.5?'瘦':'健康';
21         console.log(b,res);
22     </script>
23 </head>
24 <body>
25     <p>prompt('请输入身高')<input type="text"></p>
26 </body>
27 </html>
示例练习
原文地址:https://www.cnblogs.com/maplethefox/p/11216381.html