JavaScript
JavaScript 运算符
1.运算符
+ - * / % ++ --
2.赋值运算符
= += -= *= /= %=
3.用于字符串的 + 运算符
+
运算符用于把文本值或字符串变量加起来(连接起来)。
txt1 = "What a very ";
txt2 = "nice day";
txt3 = txt1 + txt2;
// text3 = "What a very nice day";
x = "5" + 5;
y = "Hello" + 5;
// x = "55";
// y = "Hello5";
//特别的
var result1 = 5 + 5 + "abc"; //结果将是"10abc"
var result2 = "" + 5 + 5 + "abc"; //结果将是"55abc"
// 空文本 + 数字得到的运算结果都是把数字转成字符串,无论文本有多少个空格。
var result1 = "" + 5; // 得到的结果是"5"
var result2 = " " + 5; // 得到的结果是"5"
var result3 = " " + 5; // 得到的结果是"5"
4.==运算符
- 如果两个类型相同,进行==比较
- 如果操作数为非数值,需要遵循以下规则:
- 一个操作数为Boolean,比较前将其转换为数值类型,false:0 true:1
- 一个操作数为字符串,先转换数值类型在比较
- 一个操作数为对象,则用valueOf() toString(),将返回值进行比较
- 在不需要任何转换的情况下,null / undefined 是相等的
5.===运算符
- 如果两个类型不相等,就不相等
- 如果两个数都是数值,并且是同一个值,那么相等(有一个是NaN,那么不想等)
- 如果两边都是字符串,每个位置的字符都相符,那么相等,反之不想等
- 如果两边的值都引用同一个对象或对象,那么相等
- 如果两边的值为null或者undefined那么相等
null 和 underfined 的值相等,但类型不等:
6.typeof操作符
typeof "John" // 返回 string
typeof 3.14 // 返回 number
typeof false // 返回 boolean
typeof undefined // undefined
typeof null // object
typeof [1,2,3,4] // 返回 object
typeof {name:'John', age:34} // 返回 object
typeof Function // 返回 function
7.逻辑运算法
!
对象 false
空字符串 true
字符串 false
0 true
非0 false
null true
undefined true& / &&(短路)
| / ||(短路)
- 如果第一个操作数为对象,则返回第一个操作数
- 如果第一个操作数的求值结果为false,则返回第二个操作数
- 如果连个操作数都是对象,则返回第一个操作数
- 如果两个操作数都是null,则返回null
- 如果两个操作数都是NaN,则返回NaN
- 如果两个操作数为undefined,则返回undefined
8.三目运算符
expression1 ? expression2 : expression3;