基本数据类型
和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>
来源:https://www.cnblogs.com/znyyy/p/11095863.html