JS操作符
Posted liu_kaiyao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS操作符相关的知识,希望对你有一定的参考价值。
4、操作符
1) 算术运算符
+ - * / %
+= -=
var a = 1;
a += 1; // a = a + 1
console.log(a); // 2
2) 一元运算符
++ 自增
先使用,再自增 a++
var a = 1;
var b = a++;
console.log(a); // 2
console.log(b); // 1
先自增,再使用 ++a
var a = 1;
var b = ++a;
console.log(a); // 2
console.log(b); // 2
-- 自减
先使用,再自减 a--
先自减,再使用 --a
+、- 将其他数据类型转换为数字类型
+
相当于调用了Number()
var a = \'hello\';
var b = +a;
var c = Number(a);
console.log(b); // NaN
console.log(c); // NaN
-
如果是数值,则变为负数 如果是非数值,则跟+一样的规则
= 赋值 将=右边的值赋值给=左边的变量
var a = 1;
3) 比较运算符
比较基本数据类型--比较值,比较引用数据类型--比地址
== 双等 ( 类型不同会转换再比,大部分转Number)
null==0 //F null==underfined // T (underfined 衍生自null) (a=NaN) a==NaN //F NaN不和任何值相等 --isNaN()检查值
- != 不等 (会自动进行数据类型类的转换,再去比较数值)
- === 三等(全等) 多类型判断,类型不同直接F
!== 不等
var a = \'1\'; var b = 1; console.log(a == b); // true console.log(a != b); // false console.log(a === b); // false console.log(a !== b); // true {}=={} false --地址不同 {}==={} false
5.> / >= / < / <=
非数值比较时先转化为Number再比--任何值和NaN比,结果都为F
符号两边都是字符串,按位比较unicode\'11\'<\'5\' --- T \'abc\'>\'a\' --- T 第二位b的码>0
4) 逻辑运算符
&& 与 【同真则真,有假则假】--先转成布尔值再运算,返回原值
如果两个表达式的值都是true,则返回true,但是如果有一个表达式的值为false,则返回false
短路!!
1. 如果第一个操作数是(null,NaN,undefined,false,0,"")可被转换为false的值的时候--返回该值
2. 如果第一个数是True---返回第二个数
var s1 = 8;
var s2 = \'up\';
var s3 = \'\';
var result = s1 && s2; //up
var result2 = s3 && s2; //\'\'
|| 或 【同假则假,有真则真】
如果两个表达式的值都为false,则返回false,但是如果有一个表达式的值为true,则返回true
(第一个T--返回1值,第一个是F,返回2值)
! 非
!true -> false
!false -> true
5) 三目运算符
exp1 ? exp2 : exp3;
如果exp1为true,则整个表达式返回exp2
如果exp1为false,则整个表达式返回exp3
var age = 18;
var gender = \'male\';
var result = age >= 18 && gender == \'male\' ? \'满足条件\' : \'不满足条件\';
6) 拼接运算符 +
以上是关于JS操作符的主要内容,如果未能解决你的问题,请参考以下文章