JS中的运算符和表达式

来源:互联网 发布:ntfs for mac 知乎 编辑:程序博客网 时间:2024/06/08 01:59

运算符与表达式

2.1算术运算符与表达式

常见的算术运算符有 + - × ÷

对应在JS当中的运算符:+ - *  /

加法运算:(数值)

var weight = 65;
weight =weight +10;
alert(weight);

字符串拼接(字符串)

var dogName = "张三";
dogName = dogName + "";
alert(dogName);

减法运算

varweight = 70;
weight = weight -5;
alert(weight);

乘法运算:

varweight =15;
weight =weight *4;
alert(weight);

除法运算:

varweight =200;
 weight =weight /4;
alert(weight);

 取余运算符在JS中用%表示

作用:得到两个数的余数。

varnum1 = 10;
var num2 = 4;
var result = num1 % num2;
alert(result);

使用技巧:可以解决周期性问题。

date= date + 12 % 7;
alert(date);

计算十二天后星期几

++自增1

Num ++ 是先用后加

varnum = 1;
alert(num ++);

等价于

varnum = 1;
alert(num);
num = num +1;

++ num 是先加在用

varnum = 1;
alert(++ num);

等价于

varnum = 1;
num = num +1;
alert(num);

 

2.2关系运算符与表达式

生活中常见的关系运算符:

大于    小于    等于    大于等于    小于等于    不等于

>             <       ==             >=            <=                !=   

判断两个数是否相等,使用两个等于号,与生活中的常识不符合。

如何避免判断时出错?

将常量放到等式的前面,把变量放到等式的后面

绝对相等:

变量的值和类型都相等,使用 === 表示

绝对不相等:

变量的值和类型都不相等, 使用 !== 表示

varnum = 2;
var str = "2";
alert(num != str);

对比不相等

varnum = 2;
var str = "2";
alert(num !== str);

2.3逻辑运算符

与 (&&):

两个条件同时成立,结果才能成立。

第一个关系是true,第二个人关系也是true,那么结果才是true。

在JS中用 &&表示

如果有一个或者多个为false时,结果为false。

var num1 = 10;
var num2 = 20;
alert( num1 <20 && num2 >10);

或 (||):至少有一个成立,那么结果就成立,

就是一个关系为 true,那么结果就为true,

在JS中用 || 表示

varnum1 = 10;
var num2 = 20;
alert( num1 > 20 || num2 >10);

非(!):结果为原身的对立面,就是当结果成立时,非之后就变成不成立。

非true之后,结果就是false。

在JS的当中用 ! 表示

varnum = 10;
alert(!(num > 10));

2.4赋值运算符

将一个数据赋值给一个变量。

赋值运算是表示将一个数据储存到某一个内存单元中(变量)。

varnum = 10;

复合运算符:如果不理解复合运算符,那么就不要用,直接用普通运算符

num++;
num = num + 1;
num +=1;//两者完全等价

+= 可以不存在。完全由普通运算符取代,存在的唯一价值就是间接方便。

%=  num =num %3;  num %=3;结果一样

var num = 10;
num =num %3;
num %=3;
alert(num);

-= 结果都是7

varnum = 10;
num =num -3;
num -= 3;
alert(num);

*= 结果都是30

varnum = 10;
num =num *3;
num *= 3;
alert(num);

/= 结果都是5

varnum = 10;
num =num /2;
num /= 2;
alert(num);

 

2.5位运算符与表达式

如何得到一个数的二进制

varnum = 5;
    alert(num.toString(2));

同理得到一个数的其他进制数,改变toString里面的值。

与(&)

首先要把数字转换成二进制,

运算法则,只有两者同时为1时,结果才为真,其余结果皆为0,

按位运算,不足的二进制前补0。例如:计算5和6的与运算

5:       101

6:       110

结果:100

  var num1 = 5;
    var num2 =6;
    alert( num1.toString(2) & num2.toString(2));

结果显示:

或 (|)

两个数有一个为1,那么结果就为1.

    var num1 = 5;
    var num2 =6;
    alert( num1.toString(2) | num2.toString(2));

异或(^) 两个值相同时,结果为0 ,两个值不同时,结果为1。

    var num1 = 10;
    var num2 =12;
    alert( (num1 ^ num2).toString(2) );