运算符也可以叫做操作符
通过运算符可以对一个或者多个值进行运算,并获取运算结果
比如typeof 就是运算符,可以获得一个值的类型
它会将该值的类型以字符串的形式返回
var c = 123;
console.log(typeof c);
算数运算符
当对非Number类型的值运算时,会将这些值转化为Number然后进行运算
任何值和NaN做运算都得NaN
两个字符串相加,则会有拼串
会将两个字符串拼接成一个字符串再返回。
任何的值和字符串做加法运算,都会先转换成字符串,然后做拼串。
可以利用任意的数据类型+一个空串将其转化成string,这是一种隐形的类型转换。
在表现形式上经常使用 console.log("c = "+c);的形式让返回值更清楚。
var c = 123;
c = c + “”;
console.log("c = "+c);
一元运算符,只需要一个操作数。
+代表正号
-代表负号
对于非Number的值会先转换成Number再运算。
可以对一个其他的数据类型将其转换为Number类型:a = +a;则转换成了Number类型;也属于隐式转换。
var c = true;
a = +a
console.log("a ="+a);
自增 ++
a++;
a++;
每调用一次就自增一次。
++a;
++a;
++a和a++:
自增分成两种:前加加和后加加,无论是a++还是++a都是让原变量加一。
不同的是a++和++a的值不同
a++是自增前的值,++a是自增后的值。
自减 --
与a++和++a的同理
a = 10;
var c = a++;
var b = ++a;
//c = 10;
//b = 11;
逻辑运算符
js中为我们提供了三种逻辑运算符 && || ! 与 或 非
&& || 非布尔值的情况
对于非布尔值进行与或运算会将其转换成布尔值再进行运算,并且返回原值。
0 转化成布尔值为false。
var result = 1 & 2;
如果两个值都为true,则返回后面的值。
如果两个值都为false,则返回前面的值。