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.