JavaScript运算
1.算术元算符与表达式
常见的算术运算符有 + - x ÷
对应在JS中的运算符号为+ - * /
加法运算:(数值)
var weight=65;
weight += 10;
alert(weight);
字符串拼接(字符串)。
var dogName="zhangsan";
dogName += "feng";
alert(dogName);
减法运算:
var weight=65;
weight = weight - 10;
alert(weight);
乘法运算:
var weight=65;
weight = weight *10;
alert(weight);
除法运算:
var weight=65;
weight = weight / 10;
alert(weight);
取余运算符在JS当中用%表示 作用:得到两个数的余数
var num1=10;
var num2=3;
var result=num1% num2;
alert(result);
使用技巧:可以解决周期性问题。
//计算十二天后是星期几
var date=1;//今天是周一
var result=date+ 12%7;
++自增1
num++ ;等价于 num = num + 1;
本身是可以不存在,使用基本运算就能代替。它存在的唯一价值就是简便,快捷。
num ++ 和 ++num的区别:
a = num++
a = ++num
num ++ 是先用再加
var num=1;
alert(num++);
等价于
alert(num);
num = num + 1;
++num 是先加再用
var num=1;
alert(++ num);
等价于
var num=1;
num = num + 1;
alert(num);
2.赋值运算符与表达式
将一个数据赋值给一个变量
赋值运算是表示将一个数据存储到某个内存单元中(变量)
var num=10;
复合赋值运算符
num = num + 10;
num += 10;//等价于
注:如果不理解这个复合赋值运算符,那么就不要用,直接用普通运算符。
+= 可以不存在,完全由 普通运算符取代,存在的唯一价值就是简洁方便。
-=
var num=10;
num -= 3;
运算结果为7;
*=
var num=10;
num *= 2;
运算结果为20;
/=
var num=10;
num /= 2;
运算结果为5;
%=
var num=10;
num %= 3;
运算结果为1
3.关系运算符与表达式
生活中常见的关系运算符:
大于 小于 等于 大于等于 小于等于不等于
> < == >= <= !=
判断两个数是否相等,使用两个 = 号,与生活中的常识不符合
如何避免判断两个数相等时出错。就是把常量放在等式的前面,把变量放在等式的后面。
绝对相等
变量的值和类型都相等,使用 === 来表示。
绝对不相等
变量的值和类型都不相等,使用 !== 来表示。
var num1=2;
var str="2";
alert(num1!=str)
显示结果为false。
对比不相等
var num1=2;
var str="2";
alert(num1!==str)
显示结果为true。
4.逻辑运算符与表达式
与
两者同时成立结果才成立
第一个关系是true,第二个关系也是true,那么结果才是true。
如果有一个或多个为false时,结果为false;
在JS当中用 && 表示
var num1=2;
var num2=3;
alert(num1==2&& num2==3)
结果显示为true。
或:
至少有一个成立那么结果成立。
就是一个关系为true那么结果就为true
在JS中用 || 来表示。
var num1=2;
var num2=3;
alert(num1> 3 ||num2==3)
显示结果为true。
非
结果为原身的对立面,就是当关系成立时,非之后就变为不成立
非true之后结果为false
在JS当中用 ! 来表示。
var num=10;
alert(!(num==10));
显示结果为false。
5.位运算符与表达式
如何得到一个数的二进制
var num=5;
//101
alert(num.toString(2));
同理得到一个数其他进制数,改变 toString里面的值
与
首先要把数转化为二进制。
运算法则,只有两者同时为1时,结果才为1,其余结果均为0
按位运算,不足的在二进制前补0 ,例如:计算5和6的与运算
5: 101
3: 011
结果:1
var num1=5;
//101
var num2=3;
//011
alert(( num1 &num2).toString(2));
显示结果为1.
或
运算法则,两个数有一个为1,那么结果就为1
var num1=5;
//101
var num2=3;
//011
alert((num1 |num2).toString(2));
显示结果为111.
异或
两个值相同时结果为0,两个值不同时结果为1.
var num1=10;
var num2=12;
// 1010
// 1100
// 结果为0110
alert((num1^num2).toString(2));
显示结果为110.