算数运算符:
+ - * / %
+ 号也表示连接
- num++ ; num = num +1
- ++num ; num = num + 1
四舍五入解决误差:
to Fixed(n) n 为保留小数
例:
name .name to Fixed(n)
例:
- var a = 10;
- var a=a + 10;
- var a=a * 10;
- var a = a / 2;
- var a = a % 5;
- console.log(a)
优先级按照数学的优先级, 并且可以用括号来提高优先级:
关系运算符:
- var a = '20';
- var b = 20;
- console.log(a==b)// 判断数据是否相等 值
- console.log(a===b)// 判断数据以及类型是否想等
- console.log(a!=b) // 判断两个数据是否不相等 值
- console.log(a!==b) // 判断两个数据是否不相等
- console.log(a>30)
- console.log('2'>'1')
关系运算符值布尔类型(true,false)
另外, 任何数据与 NaN 作比较时, 都返回 false.
逻辑运算符:
&&: 指多个条件都满足;
| | : 指满足其中一个条件;
! : 取反.
- var a = prompt("请输入数学成绩:")
- //var b = prompt("请输入语文成绩:")
- // && : 多个条件都必须满足,
- // || : 满足其中一个条件
- // ! : 表示取反
- //var all = a>=70 && b>=60;
- //var all = a>=60 || b> 80;
- var num = prompt("输入一个值")
- console.log("是否为数字"+!isNaN(num))
短路与: 左侧条件为真, 则执行右边条件;
短路或: 左侧为真则不执行右边, 反之则执行右边条件.
位运算
常用做取整, 因为位运算一定会先将两边转换为二进制, 而小数没有二进制.
& : 将两边的数先转化为二进制, 每位数字对应的数字为 1 时, 该位结果为 1, 否则该位结果为 0
- var num1 = 7; 0111
- var num2 = 9; 1001
- console.log(num1 & num2) 1
|: 将两边的操作数转化为二进制, 比较每位的数字, 对应的数中有一个为 1 结果就为 1, 否则为 0
console.log(num1 | num2) 1111 的十进制为 15, 所以输出 15
- var num = 6.15;
- console.log(num | 0); // 输出 6
>> : 按位左移, 将二进制向左移动几位, 右边以 0 补位;
<< : 按位右移, 将二进制向右移动几位, 左边以 0 补位.
异或 :
将两边的数字转换为二进制 进行比较, 每位上的数字, 只有一个为 1 时, 该位结果才为 1, 否则 0
- var num1 = 3 ;
- var num2 = 4 ;
- num1 = num1 ^ num2;
- num2 = num2 ^ num1;
- num1 = num1 ^ num2;
console.log(num1,num2)常用来做数值交换
三目 (三元) 运算符
条件表达式? 表达式 1: 表达式 2;
例:
- var num =prompt("请输入成绩:")
- var msg = num>=80?"优秀" :num>=60?"合格" : "不及格";
- console.log(msg)
其中的条件也可用与 (&&) 或(||)来连接,
例:
---------------- 分割线 ------------------
在进行不同的数据的比较的时候会出现不同的结果:
- number+string=string
- string+boolean=string
任何一个数据与 string 类型做 "+" 运算时, 都会被转换为 string 再做运算,
number+boolean=NaN (not a number)
来源: http://www.bubuko.com/infodetail-3131462.html