· 自增 ++:使变量在自身的基础上增加1,原变量值立即自增1。后加加 a++; 前加加++a; 。a++ = 原值。++a = 新值。
· 自减 --:变量在自身的基础上减1。后剪剪 a--; 前剪剪 --a; 。a-- = 原值。--a = 新值。
· 3 种逻辑运算符:
!非:对值进行非运算(返回值都变成布尔类型),true → false,false → true 。
&&与:对符号两侧的值进行与运算。result= true && true = true。result = true && false = false。result = false && false = false
||或:result= true || true = true。result = true || false = true。result= false || false = false。
非布尔值的与或运算,先转换成布尔值,再运算。&&运算中,当两个值都为 true ,返回后面的值。两个都为false时,返回前面的值。||运算中,如果第一个值为 false ,直接返回第二个。如果第一个值为true ,直接返回第一个值。
· 赋值运算符:
=:右侧的值赋给左侧的变量。
+=:a += 5 等价于 a = a + 5 。-=:a -= 5 等价于 a = a - 5 。a *= 5 等价于 a = a * 5 。a /= 5 等价于 a = a / 5 。a %= 5 等价于 a = a % 5 。
· 关系运算符:比较值的大小关系。关系成立返回 true ,关系不成立 返回 false 。
当为比较非数值时,先转换为数值。任何值与 NaN 作比较 都是返回 false 。
当符号两侧都为字符串时,不会转换成数值进行比较,而是比较字符串的 Unicode ,一位一位对应比。(借用它对英文进行排序?)比较两个字符串型的数字时,一定要先转型。
· 输出 Unicode 符号。console.log("\u1c00") 。\u+四位编码。
在网页中使用:&#编码; 这里的编码需要的是十进制。
· 相等运算符 ==:比较两个值是否相等,返回 true / false 。如果值的类型不同,自动转换为相同的类型。undefined == null 为 true 。NaN 不和任何值相等,NaN == NaN 为 false 。
· 通过 isNaN() 函数来判断一个值是否是 NaN 。 console.log(isNaN(b)); 。
· 不相等符号 !=,不相等返回 true ,相等返回 false 。console.log(10!=5);
· === 全等。不自动做类型转换。若两个值类型不同,直接返回 false 。
· !== 不全等。不自动做类型转换。若两个值类型不同,直接返回 true 。
· 条件/三元运算符:条件表达式?语句1:语句2; 。条件运算符在执行时,首先对条件表达式进行求值,该值为 true ,执行1,并返回结果。值为 false ,执行语句2,并返回执行结果。
例: true?alert("语句1"):alert("语句2"); 。
例: var a = 30; var b = 10; var c = 50;
(获取 a 和 b 中的最大值) var max = a > b ? a : b; console.log ("max = " +max);
(获取 a b c 中的最大值) max = max > c ? max : c; console.log ("max = " +max);
(一个语句也可,但不推荐使用) var max = a > b ? (a > c ? a : c) : (b > c ? b : c);
· 如果条件表达式的求值结果是一个非布尔值,会将其先转换成布尔类型。