Download Fore_End/JavaScript/ECMAScript/ECMAScript_grammar/4_运算符.html from zxy0307/JavaWeb: direct link, hf CLI and curl.
- Browser
- Download file 3.84 kB
-
https://huggingface.co/zxy0307/JavaWeb/resolve/main/Fore_End/JavaScript/ECMAScript/ECMAScript_grammar/4_%E8%BF%90%E7%AE%97%E7%AC%A6.html
- Command line
-
hf download hf://zxy0307/JavaWeb/Fore_End/JavaScript/ECMAScript/ECMAScript_grammar/4_运算符.html
-
curl -L -o 4_运算符.html https://huggingface.co/zxy0307/JavaWeb/resolve/main/Fore_End/JavaScript/ECMAScript/ECMAScript_grammar/4_%E8%BF%90%E7%AE%97%E7%AC%A6.html
3.84 kB
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <title>一元运算符</title> | |
| </head> | |
| <body> | |
| <script> | |
| /* 1. 一元运算符:只有一个运算数的运算符 | |
| ++,-- , +(正号) | |
| * ++ --: 自增(自减) | |
| * ++(--) 在前,先自增(自减),再运算 | |
| * ++(--) 在后,先运算,再自增(自减) | |
| * +(-):正负号 | |
| * 注意:在JS中,如果运算数不是运算符所要求的类型,那么js引擎会自动的将运算数进行类型转换 | |
| * 其他类型转number: | |
| * string转number:按照字面值转换。如果字面值不是数字,则转为NaN(不是数字的数字) | |
| * boolean转number:true转为1,false转为0 */ | |
| var num = 3; | |
| var a = num ++; | |
| document.write(num + "<br/>"); // 4 | |
| document.write(a + "<br/>"); // 3 | |
| document.write("<hr/>"); | |
| var b = -"123"; | |
| document.write(b + "---" + typeof(b) + "<br/>"); | |
| var b2 = -"abc"; | |
| document.write(b2 + "---" + typeof(b2) + "<br/>"); | |
| document.write("<hr/>"); | |
| var flag1 = +true; | |
| var flag2 = false; | |
| document.write(flag1 + "---" + typeof(flag1) + "<br/>"); | |
| document.write(flag2 + "---" + typeof(flag2) + "<br/>"); | |
| document.write("<hr/>"); | |
| /* 2. 算数运算符 | |
| + - * / % ... */ | |
| var num1 = 3; | |
| var num2 = 4; | |
| document.write(num1 + num2 + "<br/>"); | |
| document.write(num1 - num2 + "<br/>"); | |
| document.write(num1 * num2 + "<br/>"); | |
| document.write(num1 / num2 + "<br/>"); | |
| document.write(num1 % num2 + "<br/>"); | |
| document.write("<hr/>"); | |
| /* 3. 赋值运算符 | |
| = += -+.... | |
| 4. 比较运算符 | |
| > < >= <= == ===(全等于) | |
| * 比较方式 | |
| 1. 类型相同:直接比较 | |
| * 字符串:按照字典顺序比较。按位逐一比较,直到得出大小为止。 | |
| 2. 类型不同:先进行类型转换,再比较 | |
| * ===:全等于。在比较之前,先判断类型,如果类型不一样,则直接返回false */ | |
| document.write((3 > 4) + "<br/>"); | |
| document.write(("abc" < "acd") + "<br/>"); | |
| document.write("<hr/>"); | |
| document.write(("123" == 123) + "<br/>"); | |
| document.write(("123" === 123) + "<br/>"); | |
| document.write("<hr/>"); | |
| /* 5. 逻辑运算符 | |
| && || ! | |
| * 其他类型转boolean: | |
| 1. number:0或NaN为假,其他为真 | |
| 2. string:除了空字符串(""),其他都是true | |
| 3. null&undefined:都是false | |
| 4. 对象:所有对象都为true */ | |
| //boolean | |
| var flag3 = false; | |
| document.write(flag3 + "<br/>"); | |
| document.write(!flag3 + "<br/>"); | |
| //number | |
| var flag4 = 3; | |
| document.write(!!flag4 + "<br/>"); | |
| var flag5 = NaN; | |
| document.write(!flag5 + "<br/>"); | |
| //string | |
| var flag6 = ""; | |
| var flag7 = "abc"; | |
| document.write(!flag6 + "<br/>"); | |
| document.write(!flag7 + "<br/>"); | |
| //null & undefined | |
| var flag8 = null; | |
| document.write(!flag8 + "<br/>"); | |
| var flag9; | |
| document.write(!flag9 + "<br/>"); | |
| //对象 | |
| var date = new Date(); | |
| document.write(!date + "<br/>"); | |
| if(date){ | |
| alert("防止空指针异常"); | |
| } | |
| document.write("<hr/>"); | |
| /* 6. 三元运算符 | |
| ? : 表达式 | |
| var a = 3; | |
| var b = 4; | |
| var c = a > b ? 1:0; | |
| * 语法: | |
| * 表达式? 值1:值2; | |
| * 判断表达式的值,如果是true则取值1,如果是false则取值2; */ | |
| var a = 3; | |
| var b = 4; | |
| var c = a > b? 1:0; | |
| document.write(c + "<br>"); | |
| </script> | |
| </body> | |
| </html> |