赋值运算符与表达式
将一个数据赋给一个变量
赋值运算是表示将一个数据存储到某一个内存单元(变量)
var num = 1 ;
复合赋值运算符
num = num +10;
num += 10;//两者完全等价
+=可以不存在,完全有普通运算符取代 ,存在的唯一价值就是简洁方便。
%=
var num = 100 ;
num %=10;
alert(num);
-=
var num = 100 ;
num -=10;
alert(num);
*=
var num = 100 ;
num *=10;
alert(num);
/=
var num = 100 ;
num /=10;
alert(num);
常见运算符与表达式
常见算术运算符:+ - × ÷
对应在JS中的运算符: + - * /
var weight = 65 ;
weight = weight +10;
alert(weight);
字符串拼接(字符串)
var dogName = "zhangsan";
dogName = 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);
使用技巧:可以使用周期性问题。
判断一个数的奇偶性质,为零即是偶数。余1即为奇数
var date = 2 ;
date = date +12 % 7 ;
alert(date);
留个作业:循环渐变
++自增1;
本身是可以不存在,使用基本运算就能代替,他存在的唯一价值就是简便快捷
num++ 和++num区别
var num = 5;
// var a = num++;//先用(给a赋值)后加,等价于 a = num ;num = num + 1.
var a = ++num;//先加后用,等价于 num = num + 1,a = num.
alert(num);
alert(a);
num++是先用在加
var num1 = 1
alert(num1++);
等价于
alert(num1);
num1 = num1 + 1;
++num是先加在用
var num1 =1;
alert(++num1);
等价于
var num1 =1;
num1 = num1 +1;
alert(numl)
2.6关系运算符与表达式
生活中常见的关系运算符:
大于 小于 等于 大于等于 小于等于 不等于
> < == >= <= !=
判断两个数是否相等 使用两个 = 号 。与生活中尝试不符合,
如何避免判断两个数相等时出错。就是把常量放在等式的前面,把变量放在等式的后面。
绝对相等
变量的值和类型的都相等,使用===来表示
绝对不相等
变量的值和类型都不相等,使用!==来表示
var num1 = 1 ;
var num2 = "1";
alert( num1 !== num2);
对比不相等
var num1 = 1 ;
var num2 = "1";
alert( num1 !=num2);
2.7逻辑运算符与表达式
与&&
两者同时成立结果才成立
第一个关系是true,第二个也是true 那么结果才是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
var num1 = 10 ;
var num2 = 20;
alert( !(num1 < 20 || num2 <10) );
2.8位运算符与表达式
如何得到一个二进制数
var num = 5 ;
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));
或
结果为111
var num1 = 5;
var num2 = 6;
alert((num1 | num2).toString(2));
异或 两个值相同时为0不同时为1
x^1=*(反)
x^0=x
结果为11
var num1 = 10;
var num2 = 12;
alert((num1^num2).toString(2));
按位与运算作用:
(1)可用于测试某一位是0还是1;
(2)设置某一位为0
x | 0 = x
x| 1 = 1
x&1 = x(x表示一位 二进制
按位或运算的作用:设置某些位位1
11111111011101011
00000000000000000