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