JS中常用的运算符:
运算符 | 描述 | 实例 |
---|---|---|
+ | 加 | 10 + 20 = 30 |
- | 减 | 10 - 20 = -10 |
* | 乘 | 10 * 20 = 200 |
/ | 除 | 10 / 20 = 0.5 |
% | 取余数(取模) | 返回除法的余数 9 % 2 = 1 |
浮点数的最高精度是17位小数,但在进行算术运算时其精度远远不如整数,所以不要直接判断两个浮点数是否相等
var result = 0.1 + 0.2;//结果不是0.3,0.30000000000000004 console.log(0.07 * 100);//结果不是7,而是7.000000000000001
递增(++)和递减(–)
在JS中递增(++)和递减(–)可放在变量前面和后面,放在前面时我们可以称为前置递增(递减)运算符,放在变量后面时我们可以称为后置递增(递减)运算符
递增递减运算符只能搭配变量使用
++num前置递增,类似于num = num + 1
先自加1,后返回值
num++前置递增,类似于num = num + 1
先返回原值,后自加1
var a = 10; ++a; // ++a 11 a=11 var b = ++a + 2; // a=12 ++a = 12 console.log(b); // 14 var c = 10; c++; // c++ 11 c=11 var d = c++ + 2; // c++先返回11 d=13 再自加 c = 12 console.log(d); // 13 var e = 10; var f = e++ + ++e; //e++先返回10 再自加 e=11 ++e先自加 e=12 再返回12 console.log(f); // 22
比较运算符是两个数据进行比较时所使用的运算符,比较运算后,会返回一个布尔值(true、false)作为比较运算的结果。
运算符名称 | 说明 | 案例 | 结果 |
---|---|---|---|
< | 小于号 | 1 < 2 | true |
> | 大于号 | 1 > 2 | false |
>= | 大于等于号(大于或等于) | 2 >= 2 | true |
<= | 小于等于号(小于或等于) | 3 <= 2 | false |
== | 判等号(会转型) | 37 == 37 | true |
!= | 不等号 | 37 != 37 | false |
=== !== | 全等 要求值和数据类型都一致 | 37 === ‘37’ | false |
==会转型,如 18 == ‘18’ 结果为true
逻辑运算符是用来进行布尔值运算的运算符,返回值也是布尔值
逻辑运算符 | 说明 | 案例 |
---|---|---|
&& | “逻辑与”,简称"与" and | true && false |
|| | “逻辑或”,简称"或" or | true || false |
! | “逻辑非”,简称"非" not | !true |
原理:当有多个表达式(值)时,左边的表达式值可以确定结果时,就不再继续运算右边的表达式的值
console.log(123 && 456);//456 console.log(0 && 456);//0 console.log(123 && 456 && 789);//789 console.log(0 && 1 + 2 && 456 * 789);//0
如果有空的或者否定的为假,其余是真,如0,’’,null,undefined, NaN
console.log(123 || 456); //123 console.log(0 || 456); //456 console.log(123 || 456 || 789); //123 var num = 0; console.log(123 || num++);//123 console.log(num);//最终num结果为0,因为中断了 没有加1
赋值运算符 | 说明 | 案例 |
---|---|---|
= | 直接赋值 | var usrName = ‘我是值’ |
+= ,-= | 加,减一个数后再赋值 | var age = 10; age+=5;//15 |
*=,/=,%= | 乘,除,取模后再赋值 | var age = 2; age*=5; //10 |
优先级 | 运算符 | 顺序 |
---|---|---|
1 | 小括号 | () |
2 | 一元运算符 | ++ –- ! |
3 | 算数运算符 | 先 * / 后 + - |
4 | 关系运算符 | > >= < <= |
5 | 相等运算符 | == != === !== |
6 | 逻辑运算符 | 先 && 后 || |
7 | 赋值运算符 | = |
8 | 逗号运算符 | , |
主要有三种,分别是顺序结构、分支结构和循环结构
JS提供两种分支结构语句:
if (条件表达式) { //执行语句 }
if (条件表达式) { //条件成立执行的代码 } else { //否则执行的代码 }
if (条件表达式1) { //语句1 } else if (条件表达式2) { //语句2 } else if (条件表达式3) { //语句3 } else { //否则 }
三元表达式也能做一些简单的条件选择,有三元运算符的式子称为三元表达式
条件表达式 ? 表达式1 : 表达式2
条件表达式成立则返回表达式1,否则返回2
示例:
//数字补0 //小于10 前补0 var num = prompt('请输入0~59之间的一个数字'); var result = num < 10 ? '0' + num : num; alert(result);
switch(表达式){ case value1: //执行语句1; break; case value2: //执行语句2; break; //... default: //执行最后的语句;(没匹配上执行) }
表达式的值和case的value必须是全等,必须是值和数据类一致才可以
如果当前的case没有break,则继续执行下一个case
示例:
// 用户在弹出框里面输入一个水果,如果有就弹出该水果的价格, 如果没有该水果就弹出“没有此水果” var fruit = prompt('请您输入查询的苹果'); switch (fruit) { case '苹果': alert('苹果的价格为3.5元/千克'); break; case '香蕉': alert('香蕉的价格为3元/千克'); break; default: alert('没有这种水果'); }