JavaScript(二)----运算符

算数运算符(+ - % * /)

1、不会对原变量产生影响
2、任何值和NaN运算都得NaN
3、任何值和字符串相加,都会变成字符串拼接
4、只需要在任意数据类型后面加上"",就可以转换成string类型

//下面是一些例子
result = 1 + 2 + "3";  //33
result = "1" + 2 + 3;  //123
result = 100 - true;   //99
result = 100 - "1";   //99
result = 2 * "8";    //16
result = 2 * undefined;    //NaN
result = 2 * null;    //0
result = 9 % 3;    //0
result = 9 % 4;    //1

一元运算符

+ 不会对数字产生影响
- 会对数字进行取反

a = true;
a = -a; //a=-1
var result = 1 + +"2" + 3 //result=6

自增和自减

a++++a都会立即改变原变量,使其自增1;
a++的值等于原变量的值(自增前的值);
++a的值等于原变量自增后的值

var result = d++ + ++d + d;
//d++的值是20,此时d变成了21,因此++d的值为22
//20+22+22=64
var d = 20;
d = d++;
//输出d=20
//相当于
var d = 20;
var e = d++;
d = e;

逻辑运算符(!,&&,||)

非:对一个布尔值进行取反操作
&& 与:如果都是true,则返回true;只要有一个false,就返回false;如果第一个值为true,则必然返回第二个值

注意:如果第一个值为false,则不会检查第二个值

false && alert("是否会弹出");

|| 或:两个都是false则返回false,否则返回true;如果第一个值为true,则直接返回第一个值

注意:如果第一个值为true,则不会检查第二个值

true && alert("是否会弹出");

赋值运算符(+=,-=,*=,%=,/=)

var a = 10;
a += 5;//a = a+5;

(其余同理)


关系运算符(>,>=,<,<=)

console.log(1 > true);  //false
console.log(1 >= true);  //true
console.log(1 > "0");  //true
console.log(10 > null);  //true
console.log(10 > "hello");  //false,任何值和NaN比较都是false
console.log("6" > "5");  //true
console.log("11" < "5");  //true,两边都是字符串,则会比较Unicode编码

Unicode编码表

在字符串中使用转义字符输入Unicode编码,/u四位编码

console.log("\u2620")
//☠

相等运算符(==,!=,===,!==)

1、使用 == 来进行相等运算

console.log("1" == 1);  //true
console.log(true == "1");  //true
console.log(null == 0);  //false
console.log(undefined == null);  //true

注意:NaN不和任何值相等,包括它本身;可以通过isNaN()函数来判断一个值是否是NaN
2、使用 === 来进行全等运算(包括比较数据类型)


条件运算符(三元运算符)

语法:条件表达式?语句1:语句2
条件运算符在执行时,首先对条件表达式进行求值,如果该值为 true,则执行语句1,并返回执行结果;如果该值为 false,则执行语句2,并返回执行结果
//获取 a b c 中的最大值
var a = 30;
var b = 45;
var c = 29;
var max = a > b ? (a > c ? a : c) : (b > c ? b : c) ;

运算符的优先级

点击查看
(其实可以使用()来改变优先)

你可能感兴趣的:(javascript,前端)