类似a=1+1这样的表达式称为运算符,js的运算符分为算数,赋值,比较和逻辑运算符;常见的算数有:+ - * / %(加减乘除,取模),比方说5/4=4*1+1;5%4=1,js算数顺序:从左往右,先* / %后+ ;js的值包含数字,字符串,布尔值;在算数运算中,“加号”:有字符串,按照字符串处理,没有按照数字处理;注意布尔值false=0,true=1;比方来说:1+"a"="1"+"a"="1a" ; 1+false=1+0=1; false+"a"="falsea"; 1-"1"=1-1=0; 1-"a"=NaN (not a number)不是一个数;一元二元运算符,正负号代表正负值;减号,字符串可以转换成数字,默认为数字(chrome浏览器,f12控制台,console测试)
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 6 <title>javascript算数运算符</title> 7 </head> 8 <script> 9 //加号:有字符串按照字符串处理,没有按数字 10 // 1+"a" 11 // "1a" 12 // 1+false 13 // 1 14 // false+"a" 15 // "falsea" 16 // 1-"1" 17 // 0 18 19 //减号,字符串可以转成数字,默认数字 20 // 1-"a" 21 // NaN 22 // 1-"1" 23 // 0 24 // 1-"a" 25 NaN 26 </script> 27 <body> 28 29 </body> 30 </html>
赋值运算符也可以叫做复合运算+ - * / %;var a=1;a=a+10;a+=10;a-=10;a=a-10;
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 6 <title>赋值运算符</title> 7 <script> 8 var a=1; 9 // a=a+10; 10 //a+=10; 11 a-=10; 12 a=a-10; 13 console.log(a); 14 </script> 15 </head> 16 <body> 17 </body> 18 </html>
比较运算符 > < == === != >= <=相当于布尔值判断true还是false,注意==要求的值相等,而===要求的不光是值还有类型
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 6 <title>比较运算符</title> 7 <script> 8 // a=1>2 9 // a=>false 10 // 0==false =>true 11 // 0===false =>false 12 13 // 1>2 14 // false 15 // 0==false 16 // true 17 // 0===false 18 // false 19 // 1==true 20 // true 21 // 1===true 22 // false 23 </script> 24 </head> 25 <body> 26 </body> 27 </html>
逻辑运算符 || &&!“或” "与" “非”
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 6 <title>逻辑运算符</title> 7 <script> 8 // && 布尔值&&布尔值=>布尔值 9 // || true||true=>true true||false=>true 有一个是真就是真 true 10 // !a a=true false 11 </script> 12 </head> 13 <body> 14 </body> 15 </html>
一元运算符++a 二元运算符a+b 一元运算符优先级高于二元运算符;++a,a先加,a++,a后加 ++自增1 --自减1
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 6 <title>一元运算符二元运算符</title> 7 <script> 8 var a=1; 9 a++;//a=a+1 10 console.log(a); 11 a--;//a=a-1 12 console.log(a); 13 ++a;//先自增 14 --a;//先自减 15 var a=1; 16 var b=++a+5; 17 =>a=++a=a+1 18 // b=a+5; 19 // a=1 20 // 1 21 // ++a 22 // 2 23 // a+5 24 // 7 25 26 var a=1; 27 var b=a++ +5; 28 =>var b=a+5; 29 a=a++=a+1 30 //先加加,后加加 31 // a=1 32 // 1 33 // a++ 34 // 1 35 // a 36 // 2 37 // a=1 38 // 1 39 // ++a 40 // 2 41 </script> 42 </head> 43 <body> 44 </body> 45 </html>