js运算符

运算符分为:算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符。
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 r = num++  +  ++num  +  num++;
 console.log(r);//28
 console.log(num);//11   

算术运算符的优先级:先* / %再+ -,可以用()提升优先级。
四舍五入解决误差 .toFixed(n),n表示保留n位小数。

var num = 2 - 1.6;
num = num.toFixed(2);
console.log(num);

用% 判断奇偶性:请用户输入一个数 ,判断是奇数还是偶数。

var inputNum = prompt("请输入一个数:");
console.log("奇数?" + (inputNum%2));

2.关系运算符
关系运算符有: > < >= <= == != === !== 其最后的结果一定是boolean类型。
== 判断两个数据是否相等;
!= 不等于, 判断两个数据是否不相等;
=== 判断数值和类型是否完全相等;
!== 判断数值和类型是否完全不相等;
string 和 number 判断大小时, 将字符串隐式转换为number类型 用Number()函数

var str=10;
console.log(str>5);//true

任何一个数据与NaN进行比较时,结果一定都是false。
string和string之间判断大小 根据每个字符的unicode码作比较。

console.log('a'>'b');//false
console.log('张三丰'>"张无忌");
console.log('三:'+ '三'.charCodeAt());
console.log('无:'+ '无'.charCodeAt());

3.逻辑运算符
作用:多个条件之间的判断关系。
逻辑与:&& 多个条件都必须同时满足才为true, 见false则false;
短路与:只要第一个条件 为假的话,整个表达式的结果都为假,并且不会去判断第二个条件;
逻辑或:|| 满足其中一个条件就取true,见true则true;
短路或:只要第一个条件为真的话,整个表达式结果就为真,并且不会去判断第二个条件时;
取反:!。
例:判断输入的数据是否为数字

var input = prompt("请输入:");
console.log('是不是一个数:'+ !isNaN(input) );

例:笔试成绩60,面试成绩60,才可录取

var bi = prompt("输入笔试成绩:");
var face = prompt("输入面试成绩:");
var isPass = (bi >= 60) && (++face >=60) ;
console.log('是否能入职?'+isPass);

例: 笔试成绩和面试成绩有一个是100分就可以入职

var bi = prompt("输入笔试成绩:");
var face = prompt("输入面试成绩:");
var isPass1 =  bi==100 || ++face ==100;
console.log('是否能入职?'+isPass1);
console.log(bi,face);

4.位运算符
位运算符:只能做数字的运算,且要将数字转换为二进制,然后在做运算。
按位与:&,将两边的操作数转换成为二进制,每位的数字,只要对应都是1的时候,该位的结果才为1,否则该位结果为0。

var num1  = 5;//二进制101
var num2  = 3;//二进制011
var r = num1 & num2 ;
console.log(r);//001

作用:判断奇偶性,比模的效率要高
判断数字与 1 做按位与 ,最后的一位 1 为奇数 0为偶数
例:

console.log( (10 & 1)  ===  0 );//true偶数
console.log( (9 & 1)  ===  0 );//false奇数

按位或:|,将两边的操作数转换成为二进制,比较每位上的数字,两个数字中有一个是1,则该位的结果就是1 ,否则为0。

var num1  = 5;//二进制101
var num2  = 3;//二进制011
var r = num1 | num2 ;
console.log(r);//111

作用:向下取整,位运算一定会将数据转换为二进制,而小数会被转换为整数。

var num3 = 6.5;二进制110
console.log(num3 | 0);110 6

按位左移:<<,将二进制数,向左移动几位 ,右面以0 补位

console.log(2 << 1);// 4
console.log(2 << 2);// 8
console.log(2 << 3);// 16
console.log(2 << 4);// 32

按位右移:>>,将二进制数,向右移动几位 ,左面以0 补位

console.log(8 >> 1);//4
console.log(8 >> 2);//2
console.log(8 >> 3);//1
console.log(8 >> 4);//0

异或:^,将两边的数字转换为二进制 进行比较,每位上的数字,只有一个为1时,该位结果才为1,否则为为0

var num1  = 5;//二进制101
var num2  = 3;//二进制011
r = num1 ^ num2
console.log(r);
// 交换num1 和num2的值	
num1 ^= num2;// num1 = num1 ^ num2;
num2 ^= num1;// num2 = num2 ^ num1;
num1 ^= num2;// num1 = num1 ^ num2;
console.log(num1,num2);// 3 5

5.赋值运算符
赋值运算符表达式:+= -= *= /= %= &= |= ^=;
语法:a+=b 和 a = a + b 有相同的效果;
条件运算符 ,三目运算;
单目运算符:++ – !;
双目运算符:+ - / % && || ^ & | > <;
三目运算符:需要三个操作数/表达式, 表达式1 ? 表达式2 : 表达式3;允许嵌套。
表达式1:运算结果应该为boolean类型;
表达式1 = true,则执行表达式2;
表达式1 = false,则 执行表达式3;
例:判断成绩,如果成绩>=80则为优秀;>=60则为合格;<60 为不及格。

var score = prompt("输入成绩:");
var msg = score >= 80 ? "优秀" : score >= 60 ? "合格":"不及格";
console.log(msg);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值