JS运算符
来自CloudWiki
运算符
以下内容都可以在浏览器上直接验证
方法:在火狐或谷歌浏览器上,按F12进入调试模式,在控制台直接输入命令即可。
算术运算符
+:加法
var a = 1; var b = 2; a + b //3
-:减法
var a = 2; var b = 1; a - b //1
*:乘法
var a = 2; var b = 1; a * b //2
**:幂运算
var a = 2; a ** 2 //2*2=4 a *** 3 //2*2*2=8
/:除法
var a = 4; var b = 2; a / b //2
%:取余数
var a = 5; var b = 2; a % b //1
++:自增
var a=1; a++// 2
–:自减
var a=1; a-- //0
注意:自增自减时的顺序,a++与++a的区别
赋值运算符
赋值运算符用于给 JavaScript 变量赋值。
var a = 10; var b = 5; a = b//a=5,b=5 a += b //a=a+b,a=15,b=5 a -= b //a=a-b,a=5,b=5 a *= b //a=a*b,a=50,b=5 a /= b //a=a/b,a=2,b=5 a %= b //a=a%b,a=0,b=5
用于字符串的 + 运算符
运算符”+”用于把文本值或字符串变量中,表示将两边拼接起来(连接起来)。
var a='hello' var b='Tom' a + b //'hellowTom'
对字符串和数字进行加法运算
两个数字相加,返回数字相加的和,如果数字与字符串相加,返回字符串。
var a=5 var b='5' a + b // '55'
比较运算符
比较运算符在逻辑语句中使用,以测定变量或值是否相等。
- ==:等于
- ===:绝对等于(值和类型都相同)
- !=:不等于
- !==:不绝对等于(值和类型有一个不相等,或两个都不相等)
- >:大于
- <:小于
- >=:大于等于
- <=:小于等于
var a = 5; a == 5 //true a == 8 //false a === '5' //false a === 5 // true a != 1 // true a > 8 //false a < 8 //true a >= 5 //true a <=2 //false
逻辑运算符
&&:and(与)
同时为真才是true,只要有任何一个为假,则为false
var a = 1; var b = 2; (x<5 && b>1) // true
||:or(或)
有一个为真则是true,都为假,才是false
var a = 1; var b = 2; (x==5 || y==5)//false
!:not(非)
取反
var a = 1; var b = 2; (b > a) // true !(b > a) // false
注意:undefined、 null、 false、 0、 NaN在进行逻辑运算时都是false
优先级
算术 > 比较 > 逻辑
例:2 > 1+3 || 6-4<3 && 3>2,得到的结果是什么?
首先比较2 > 1+3 、 6-4<3、3>2,得到结果为false、true 、 true
在进行false || true && true
得到最后结果为true
注意:&&符号的优先级要高于||符号
2 > 1+3 || 6-4<3 && 3<2的结果为false
数据类型转换
Number:将数据转换成数字类型
Number(123); 123 //数字类型 Number('123'); 123 //数字类型 Number('as'); NaN //不能将as转换成数字 Number(true); 1 Number(false); 0 Number(undefined); NaN Number(null); 0 parseInt('324abc') 324 //可以过滤,只输出数字 Number({2:1}); NaN //不能转对象
String:将数据转换成字符串
String(true); 'true' String(false); 'false' String(123); '123' String([1,2,3]); '1,2,3' String({1:2,3:'asd'}); '[object object]' console.log(typeof(y))
Boolean:布尔类型的转换
Boolean(undefined); false Boolean(null); false Boolean(0); false Boolean(0.1); true Boolean(-0.0001); true Boolean(''); false //空字符串 Boolean('a'); true Boolean([]); true Boolean({}); true //数组和对象是空的,但是也为true