一、算术运算符与表达式
常见的运算符
+ - x ÷
对应在js中
+ - * /
这四种运算符和在数学里的含义是一样的
var weight = 65;
weight = weight + 10;
alert(weight);
取余运算符在JS当中用%表示 作用:得到两个数的余数
var num1 = 10;
var num2 = 3;
var result = num1 % num2;
alert(result);
使用技巧:可以解决周期性问题。
var date = 2;/*计算12天后是星期几*/
date =date + 12 % 7 ;
留个作业:改写颜色周期变化
++自增1
num++;
等价于num=num+1;
本身是可以不存在,使用基本运算就能代替。他存在的唯一价值就是简便,快捷。
num++ 、 ++num 的区别
a = num++;
a = ++num;
Num++ 是先用再加;
var num1 = 1;
alert(num1 ++);
等价于
alert(num1);
num1 = num1 + 1;
++ num 是先加再用
var num1= 1;
alert(++ num1);
等价于
var num1 = 1;
num1 = num1 + 1;
alert(num1);
2.4赋值运算符与表达式
将一个数据赋值给一个变量。
5==a
5=a
a==5
a=5
赋值运算是表示将一个数据存储到某个内存单元中(变量)
var num = 10;
复合赋值运算符
num = num + 10;
num += 10;//两者完全等价
+= 可以不存在,完全由 普通运算符取代,存在的唯一价值就是简洁方便。
%=
注:如果不理解这个复合赋值运算符,那么就不要用,直接用普通运算符。
2.5 关系运算符与表达式
生活中常见的关系运算符
大于 小于 等于 大于等于 小于等于不等于
> < == >= <= !=
判断两个数是否相等 使用==。与生活中常识不符合,
如何避免判断两个数相等时出错,就是把常量放在等式的前面
把变量放在等式的后面。
绝对相等
变量的值和类型都相等,使用 === 来表示
绝对不相等
变量的值和类型都不相等,使用!==来表示
逻辑运算符与表达式
与
两个条件同时成立结果才成立
条件必须都为true
如果有一个或多个为false 时 结果为false
在JS当中用 &&表示
var num1 = 10;
var num2 = 20;
alert(num1 >20 && num2 > 10);
或
有一个成立那么结果成立
就是一个关系为true那么结果就为true
在JS中用||来表示
var num1 = 10;
var num2 = 20;
alert(num1 >20 || num2 > 10);
非
使用非就会使原来的结果相反。
非true 之后 结果变为 false
在JS当中用!表示
var num= 10;
alert(!(num> 10));
位运算符与表达式
如何得到一个数的二级制。
var num= 5;
//101
alert(num.toString(2));
同理得到一个数其他进制数,改变.toString里面的值
与
首先要把数转化为二进制数。
运算法则,只有两者同时为1时结果才为1.其余结果均为0
按位运算,不足的在二进制前补0。例如:计算5和6的与运算
5: 101
6: 110
结果:100
var num1 = 5;
var num2 = 6;
alert((num1&num2).toString(2));
或 两个数有一个为1那么结果就为1然后按位运算
var num1= 5;
var num2= 6;
//101
//110
//111
alert(num1.toString(2) | num2.toString(2));
异或 两个值相同时结果为0 两个值不同时结果为1
var num1= 5;
var num2= 6;
//101
//110
//011
alert(num1.toString(2) ^ num2.toString(2));
按位与运算的作用:
(1)或运算
让任意某一位变为0 例如:
100101
111011
100001
在或运算里如果想让某一位为0,但是又不知道那位是1还是0,就给他设置0,因为设置0的话不管原来是1还是0都会为0,如果设置为1他有50%的可能性会是1.
(2)与运算
让任意某一位变为1 例如:
100101
111011
111111
在与运算里如果想让某一位为1,但是又不知道那位是1还是0,就给他设置1,因为设置1的话,与的条件就成立了,所以他就是1,无论怎样都会是1.