02 数据类型&运算符
基本数据类型
和python一样,js的变量命名也是弱类型,也就是说根据变量值来定义变量类型。
运算符值得注意的点是,===,这个指类型和值都相等。
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <meta http-equiv="X-U-Compatible" content="IE-edge"> 6 <meta name="viewport" content="width=device-width,initial-scale=1"> 7 <title>数据类型转换&运算符</title> 8 </head> 9 <body> 10 <!--数据类型转换--> 11 <script type="text/javascript"> 12 // number 转换成 string 13 var n = 100,s = 'str'; 14 var newParam = n + s ; // 隐式转换 15 console.log(typeof newParam); // string 16 var n2 = String(n); // 强制转换 String() 方法 17 var n3 = n.toString(); // 强制转换 toString() 方法 18 console.log(typeof n,typeof n2,typeof n3); // number string string 19 20 // 将string转换成number 21 var m = '123'; 22 var e = Number(m); // 强制转换 23 console.log(typeof m,typeof e);// string number 24 var ms = '12str'; 25 var es = Number(ms); // 有个点要注意 如果强制转化的变量不是一个数值 那么转换后的值会变成 NAN not a number 26 console.log(es,typeof es);// NAN number 27 console.log(parseInt('123.321')); //123 parseInt()可以解析一个字符串 并且返回一个整数 28 console.log(parseFloat('123.321')); //123.321 parseFloat()可以解析一个字符串 并且返回一个小数 29 30 // 四舍五入 31 var num1 = 12.567; 32 var num2 = num1.toFixed(2); // 保留两位小数 注意四舍五入后的类型为字符串 33 console.log(num2, typeof num2); // 12.57 string 34 35 // 任何的数据类型都可以转换为boolean类型 36 var b1 = '123'; //true 37 var b2 = 0; //false 38 var b3 = -123; //true 39 var b4 = Infinity; //true 40 var b5 = NaN; //false 41 var b6; //false 42 var b7 = null; //false 43 //使用Boolean(变量) 来查看当前变量的真假 44 45 </script> 46 47 <!--运算符--> 48 <script type="text/javascript"> 49 // 赋值运算符 50 var x=18,y=5; 51 var z = x; // 将z这个变量也指向 12 这个值的内存地址 52 x = 12; // 从新开辟了一个内存地址存12 x指向这个内存地址 18的内存你地址不变 53 console.log(x,z); // 12,18 54 console.log(x+=y); // 17 等同于 x = x + y 55 console.log(x-=y); // 12 等同于 x = x - y 56 console.log(x*=y); // 60 等同于 x = x * y 57 console.log(x/=y); // 12 等同于 x = x / y 58 console.log(x%=y); // 2 等同于 x = x % y 59 60 // 算数运算符 61 var a = 5,b=2; 62 var c = a + b; 63 console.log(c); // 7 64 var c = a - b; 65 console.log(c); // 3 66 var c = a * b; 67 console.log(c); // 10 68 var c = a / b; 69 console.log(c); // 2.5 70 var c = a % b; 71 console.log(c); // 1 72 var c = a ++; // 这里需要解释下,先将a赋值给测c,然后a再自加,也就下面的代码里a=6. 73 console.log(c); // 5 74 var c = a --; // 这也是一样的,先将a赋值给测c,然后a再自减,也就下面的代码里a=5. 75 console.log(c); // 6 76 var c = ++a ; // 这也不同了,先将a自加,然后a赋值给c,a=6,c=6 77 console.log(c); // 6 78 var c = --a; // 这也不同了,先将a自减,然后a赋值给c,a=5,c=5 79 console.log(c); // 1 80 81 // 比较运算符 82 // 比较运算符得到的是一个布尔值,常用来做判断 83 var m = 666; 84 console.log(m == 666, m == '666', m == 777);// true true false 只要值相等就成 85 console.log(m === 666, m=== '666');// true false 值和类型都需要相同 86 console.log(m != 666, m != 777);// false true 只要值不相等就成 87 console.log(m !== 666, m !== '666');// false true 值和类型都需要不相同 88 console.log(m > 777, m > '222');// false true 比较的是值 不比较类型 89 console.log(m < 777, m < '222');// true false 比较的是值 不比较类型 90 console.log(m >= 777, m >= '222');// false true 比较的是值 不比较类型 91 console.log(m <= 777, m <= '222');// true false 比较的是值 不比较类型 92 93 // 三元运算符 var a = 布尔值 ? "为真取前面这个" : "为假取后面这个"; 94 var age = 17; 95 var flag = age >= 18 ? "成年人":"未成年"; 96 console.log(flag); // 因为 age >= 18 为假,所以 控制台输出的是 未成年 97 </script> 98 </body> 99 </html>
夕闻道不如朝闻道