1. 算术运算符
//算术运算符主要有:+ - * / % ++ --
//关于自加自减 在前:先算后用 在后:先用后算
var num = 5 ;
num++;// num = num + 1
console.log(num);//输出6
console.log(num++);//输出6
console.log(num);//输出7
console.log(++num);//输出8
//关于取模 可以用于判断数据奇偶性
var num;
num % 2 == 0//为偶数
num % 2 == 1//为奇数
//关于优先级
//与数学中的计算方法一致
2. 关系运算符
//关系运算符主要有:> < >= <= == != === !=== 结果是boolean类型
//== 判断2个数据(值)是否相等 != 判断2个数据是(值)否不相等
var str = '100';
var n = 100;
console.log(str == n)//返回 true
//=== 判断2个数据的值和类型是否完全相等 !== 判断2个数据的值和类型是否不完全相等
console.log(str === n)//返回 false
//string 和 number 比较大小时,会自动将string用number()函数转换为number类型比较大小
//任何一个数据与NaN比较大小时,都会返回false
console.log('a' > n);//返回false
//string 和string 比较大小根据字符的Unicode码比较
console.log('陈gy' < '张xy');//返回false
3. 逻辑运算符
//逻辑运算符主要有:&& || !
//&&(与):多个条件均满足返回true,否则false。
var pg = prompt('请输入笔试成绩:');
var fg = prompt('请输入面试成绩:');
sonsole.log(pg>=60 && fg>=60);//输入80 60时,返回true 输入80 50时,返回false
//短路与:当第一个条件为假,结果返回false,并且将不会判定后面的表达式
//||(或):当一个条件满足返回true,所有条件均不满足返回false
sonsole.log(pg>=60 || fg==100);//输入50 100时,返回true 输入50 50时,返回false
//短路或:当第一个条件为真,结果返回true,并且将不会判定后面的表达式
//!:逻辑取反,常用场合有判断一个数是否位数字
console.log(!isNaN(pg));//返回true,pg是一个数字。
4. 位运算符
//位运算符主要有:& | << >> ^ 只能作用于数字运算,并且将数字转化为二进制,再运算。
//&:位与运算,每一位的数字对应都为1时,结果才是1,否则为0
var num1 = 5; //-------------101
var num2 = 3;//--------------011
var r = num1 & num2;//-------001
//与1做位与运算可判断数字的奇偶性
console.log(10 & 1 == 0);//true 是偶数
console.log(5 & 1 == 0);//false 是奇数
//|:位或运算,每一位的数字对应有一个1时,结果为1,全为0时,结果为0
var num1 = 5; //-------------101
var num2 = 3;//--------------011
var r = num1 | num2;//-------111
//与0做位或运算可以将浮点数转换为整数
var num3 = 19.6;
console.log(num | 0);//输出19
//<<:按位左移,将二进制数向左移几位,右边就补多少个0
console.log(num1 << 2)//-----101-->10100
//>>:按位右移,将二进制数向右移几位,左边就补多少个0
console.log(num1 >> 2)//-----101-->001
//^:异或运算,将两边的数据对应位比较,只有一个为1时,结果才为1,否则为0
var num1 = 5; //-------------101
var num2 = 3;//--------------011
var r = num1 ^ num2;//-------110
//可用于数据交换
num1 = num1 ^ num2;//-->num1 = 110
num2 = num1 ^ num2;//-->num2 = 101
num1 = num1 ^ num2;//-->num1 = 011
5. 赋值运算,单、双、三目运算
//拓展表达式+= -= *= /= %= &= |= ^=
//+=:num1 = num1+num2 -----其他同理
//单目运算符:++ -- !
//双目运算符:+ - * / && || ^ > <等
//三木运算符:需要3个表达式 表达式1? 表达式2 : 表达式3;
//表达式1结果应为boolean型,结果为true时执行2,为false时执行3
//允许嵌套
var grade = prompt('请输入一个成绩:');
var msg = score >= 80 ? "优秀" : score>=60 ? "合格":"不及格";
console.log(msg);//输入大于80优秀,60~80合格,低于60不及格