js运算符浅析
Posted mercy-up
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js运算符浅析相关的知识,希望对你有一定的参考价值。
什么是运算符?
连接两个或多个操作数(某个值,表达式)之间的符号。
运算符的分类:
1. 赋值运算符(=)
将右边的值赋给左边。
var x = 10;
var y = x;
console.log(x); //10
console.log(y; //10
2. 算术运算符(+,-,/,*,%)
注意:
2.1 在做除法是,若是有无限循环的小数,就会取小数的近似值
var x = 10;
console.log(x/3); //3.3333333333333335
2.2 当字符串与数值类型进行算术运算时,除了加号(+)是用来做字符串的拼接外,其余的都是将字符串转换为number类型,在做算术运算,如果字符串不能转换成数字时,输出结果为NaN。
var x = 10;
var y = "hello";
console.log(x+y); //10hello
console.log(x-y); //NaN
2.3 boolean与number类型做运算时,boolean会自动转化成number类型,false-->0,true-->1。
var x = 10;
var flag = true;
var flag1 = false;
console.log(x+flag); //11
console.log(x-flag1); //10
2.4 字符串与任何类型进行“+”号运算都是字符串的拼接。
var num = 10; var str ="hello"; var flag = false; var nul = null; var unde = undefined; var obj = { name : "jack", age : 23, sex : "男" }; console.log(str + num); //hello10 console.log(str + flag); //hellofalse console.log(str + nul); //hellonull console.log(str + obj); //hello[object Object] console.log(str + unde); //helloundefined console.log(str + str); //hellohello
3. 一元运算符(++,--)
a++,先赋值,在自加1
++a,先自加1,在赋值
a--,先赋值,在自减1
--a,先自减1,在赋值
var num1 = 1; var num2 = 3; var num3 = 5; var num4 = 7; console.log(num1++); //1 console.log(++num2); //4 console.log(num3--); //5 console.log(--num4); //6
4. 比较运算符(<,<=,>,>=,==,!=,===,!==)
在用比较运算符是,返回的值一定是boolean值。
==:等于-----只比较内容,只要内容相等,就返回true,才会返回true,否则就返回false。
===:完全等于-----不仅比较内容,还比类型,只有内容和类型都相等时,才会返回true,否则就返回false。
var num1 = 1; var num2 = 3; console.log(num1 < num2); //true console.log(num1 >= num2); //false console.log(num1 != num2); //true
5. 逻辑运算符:与,或,非(&&,&,!,||,|)
其中与或有两种与或,分别为长路与或(&&,||),短路与或(&,|),长路与短路的区别在于,短路先执行逻辑运算符左侧部分,符合要求就输出逻辑运算结果,不再执行右侧部分;而长路不
管左侧是否符合要求,它都会执行右侧部分。
与(&&,&):当所有表达式都返回true时,结果才返回true,只要有一个表达式返回false,那么结果就为false。一假为假
非(||,|):只要有一个表达式返回true,结果就返回true,只有所有的表达式都返回false时,结果才为false。一真为真
var num = 10; var str = "10"; if (num === str || num == str){ console.log("相等"); //相等 }
6. 算术赋值运算符(+=,-=,*=,/=,%=)
+=:就相当于num = num + num1
var num = 10; var num1 = 2; console.log(num += num1); //12 console.log(num -= num1); //10 console.log(num *= num1); //20 console.log(num /= num1); //10 console.log(num %= num1); //0
7. 三元运算符(三目运算符,条件运算符)
条件?表达式1:表达式2
当条件为true时,执行表达式1;当条件为false时,执行表达式2。
var num = 10; var num1 = 2; num == num1?console.log("执行表达式1"):console.log("执行表达式2"); //执行表达式2
以上是关于js运算符浅析的主要内容,如果未能解决你的问题,请参考以下文章