1、加性运算符
运算符中有:+、-、*、/、%、()
“+” 运算符在计算的时候,任何数据类型的值+字符串都会返回字符串
var a = 1 + "str"; // 1str
var b = undefind + "str"; // undefindstr
数据类型相加会得出计算的结果:
var a = 1 + 1; // 2
var b = 1 + 2.5; // 3.5
2、乘性运算符
“/“ 运算符的使用:
var a = 10,
b = 5,
c;
c = a / b; // 2
var d = 0,
e = 0,
f;
f = d / e; // NaN,Not a Number,NaN 是 Number 类型
var g = 1 / NaN; // NaN
“%” 运算符的使用:
var a = 5,
b = 2,
c;
c = a % b; // 1
var d = 4,
e = 6,
f;
f = d % e; // 4,当前面的数小于后面的数,返回前面的数
交换值的操作:
var a = 1,
b = 2,
c;
c = a;
a = b;
b = c;
// a:2 b:1
3、递增/递减操作符
++ 或 — 在数据的后面,表示数据先进行运算,然后再进行 +1 或者 -1
let age = 29;
let anotherAge = age-- + 2;
console.log(age); // 28
console.log(anotherAge); // 31
++ 或 — 在数据的前面,表示先数据进行 +1 或者 -1 ,然后再运算
let age = 29;
let anotherAge = --age + 2;
console.log(age); // 28
console.log(anotherAge); // 30
4、比较运算符
比较运算符有:>、<、<=、==、===、!=、!==
var bool = 1 < 2; // true,如果两侧都是 Number 类型会正常比较
var bool = 1 > "2"; // false,如果一侧是 Number 类型,一侧是 String 类型,String 类型会被转换为 Number 类型然后再进行比较
var bool = "a" < "b"; // true, 如果两侧都是 String 类型,根据对应的 ASCII 十进制码,从左到右依次对比
var bool = 1 == 1; // true
var bool = 1 == "1"; // true,== 会将 String 类型转换为 Number 然后进行比较
var bool = 1 === 1; // true
var bool = 1 === "1"; // flase,=== 不会将 String 类型转换为 Number
var bool = NaN == NaN; // flase,NaN 和包括自己在内任何东西都不相等
5、布尔操作符
在布尔比较的过程中,undefind
、null
、NaN
、""
、0
、false
均为假,其余都是真。
1、逻辑与 &&
逻辑与操作符两边必须都满足条件才会返回 true
&&
遇到真就往后走,遇到假就返回或者走到最后就返回当前的值
有一个不满足即为 false
:
var a = 1 && 1; // 1,true
var a = 0 && 1; // 0,false
var a = 1 && 0; // 0,false
var a = 0 && 0; // 0,flase
var a = 1 && 2; // 2,true
var a = 1 && 2 && undefined && 10; // undefind,flase
2、逻辑或 ||
逻辑或操作符两边有一边满足条件就会返回true
||
遇到假就往后走,遇到真或者走到最后就返回当前的值
有一个满足即为 true
var a = 1 || 1; // 1,true
var a = 0 || 1; // 1,true
var a = 1 || 0; // 1,true
var a = 0 || 0; // 0,false
3、逻辑非 !
这个操作符始终返回布尔值,无论应用到的是什么数据类型。逻辑非操作符首先将操作数转换为布尔值,然后再对其取反。
var a = !1; // false
var a = !!1; // true
6、if 语句
if (condition) {
statement1
} else {
statement2
}
// 或者
if (condition) statement1
else statement2
condition
可以是任何表达式,并且求值结果不一定是布尔值。ECMAScript
会自动调用 Boolean()
函数将这个表达式的值转换为布尔值。
7、switch 语句
switch (expression) {
case value1:
statement
break;
case value2:
statement
break;
case value3:
statement
break;
case value4:
statement
break;
default:
statement
}
每个case
相当于:“如果表达式等于后面的值,则执行下面的语句。”break
关键字会导致代码执行跳出switch
语句。如果没有break
,则代码会继续匹配下一个条件。default
关键字用于在任何条件都没有满足时指定默认执行的语句(相当于 else 语句)。
8、注释
// 在 JavaScript 的单行注释
/**
* 在 JavaScript 的块注释
* 1
* 2
* ...
* */