运算符
-
赋值运算符
“=” 号
将“=”号右侧的表达式的结果赋值给等号左侧的变量
面试题: 交换两个变量值如何实现?
方式一: 定义一个临时变量temp
代码展示
var num = 10,num1 = 20; var temp = num; num = num1; num1 = temp; console.log("num = " + num+",num1 = "+ num1);
方式二:一加两减
代码展示
var num = 10,num1 = 20; num1 += num; // num1 = num + num1; num1 = 30 num = num1 - num; // num = 20 num1 = num1 - num; // num1 = 10
方式三:通过位运算实现
-
算法运算符
- 算术运算符分为 一元运算符和二元运算符
一元运算符和二元运算符的区别:
区别:一元运算符 , 只有一个操作数参与运算,二元运算符:有两个操作数参与运算。
- 二元运算符:+、-、*、/、%
"+"号
功能(能干什么):
- 实现加法运算
- 连接符操作
- 表示正数
"-"号
功能:
- 实现减法运算
- 表示负数
“*”
功能:实现乘法运算
“/”
功能: 实现除法运算
“%”
功能: 实现取模运算,获取两个操作数相除的余数
0模任何一个数,结果都为零
取模的应用场合:
-
判断m是否能被n整除
若 m % n 的结果为 0,则证明m能被n 整除
若m % n 的 结构 不为0 ,则证明m不能被n整除
练习:
-
通过询问框获得一个整数,判断该数是奇数还是偶数
var num = Number(prompt("请输入一个数")); if(num % 2 !== 0){ console.log(num + "是奇数"); }else{ console.log(num + "是偶数"); }
-
获取整数789的个位、十位、百位
// 获取 整数 789 的个位 、 十位和百位 var num = 789; var bit = num % 10; console.log("个位为" + bit); // 获取十位 的 方式一 : var bit = parseInt(num / 10 % 10); console.log("十位为" + bit); // 获取十位的 方式二 : var bit = parseInt(num % 100 / 10); console.log("十位为" + bit); var bit = parseInt(num / 100); console.log("百位为" + bit);
注意:
- 在
java
中,两个整数相除得到的一定是一个整数,而在JS
中两个整数相除得到的可能是一个整数也可能是一个小数。 - 在
java
中,做除法运算时,分母不能为0,否则会出现算术运算异常,在js
中,做除法运算时,分母可以为0,返回结果要么是-infinity 要么是infinity
,返回类型为number
-
一元运算符
- 特点: 只需一个操作数参与运算
- 包含:++ 、–
++ : 自增运算符
– : 自减运算符
++、-- 都可以放在变量的前或后 ,不能放在常量的前或后
// 正确的写法 var num = 1; num--; --num; num++; ++num; // 错误的写法 6++; ++6; --6; 6--;
++
num
、num
++ 等价于num = num +1;
--num num--
等价于num = num -1;
num++、++num
的区别- 什么时候会产生区别?
- 答: 自增运算符和别的操作数参与运算时会产生区别
代码展示:
var num = 7; var sum = num++ + 3;// 先运算,后自增 console.log("sum = " + sum + "\nnum = " + num); // 输出 sum = 10 num = 8 var num = 8; var sum = ++num + 7;// ++num 先自增,后运算 console.log("sum = " + sum + "\nnum = "+num); // 输出 sum = 16 num =9
num++
先运算,后赋值++num
先自增,后运算num-- 和 --num
的区别- 什么时候会产生区别?
- 答:自减运算符和别的操作数参与运算时会产生区别
代码展示
var num = 9 ; var sum = num-- + 1;// 先运算 ,后自减 console.log("sum = " + sum + " \nnum =" + num);// 输出 sum = 10 num = 8 var num = 10; var sum = --num + 2; console.log("sum = " + sum + "\nnum = " + num); // 输出 sum = 11 num = 9
num--
先运算,后自减--num
先自减,后运算
思考题:
var a = 3,b = 4,求 a++ / 3 + --b * 2 - a-- % 6 + b++ * 3 - ++b的值
/* * a = 3 * b = 5 * 3 / 3 + 3 * 2 - 4 % 6 + 3 * 3 - 5 * = 1 + 6 -4 + 9-5 * = 7 * 输出 7 * */ var a = 3,b = 4; var result = a++ / 3 + --b * 2 - a-- %