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>

 

posted @ 2019-06-28 16:40  毛斯钢  阅读(139)  评论(0编辑  收藏  举报