基本数据类型
和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 变量的值是一个数值 就是number类型 13 // 在js中,只要是数,就是数值型(number)的。无论整浮、浮点数(即小数)、无论大小、无论正负,都是number类型的 14 var a = 100.133; 15 var b = 100.2333; 16 var c = -100.2333; 17 // typeof js内置函数 用来看变量的类型 18 console.log(typeof a,typeof b,typeof c); // number number number 19 // 特殊情况 在其他语言里 0不可以是除数,但是在js里可以 20 var d = 100/0; // c的类型仍然是number,无穷大 21 console.log(d,typeof d); // Infinity "number" 22 23 // 字符串类型:string 带有引号就是字符串 24 var e = 'Hello World!'; 25 console.log(e,typeof e); // Hello World! string 26 // 可以用+链接字符串 27 console.log(e+'How are you?'); // Hello World!How are you? 28 // 可以将数值和字符串相加,变成一个字符串 在这里不会报错 29 var f = a+e; 30 console.log(f,typeof f); // 100.133Hello World! string 31 // 如果是两个数值相加 就会变成运算 32 var g = a+b; 33 console.log(g, typeof g);// 200.3663 "number" 34 // 空字符串 35 var h = ''; 36 console.log(h, typeof h);// string 37 38 // 布尔类型 boolean 39 var i = false; 40 var j = true; 41 console.log(i,j); // false true 42 console.log(typeof i,typeof j); // boolean boolean 43 // 一般用在条件判断 但是这里注意也有非空即真 非0即真 非null即真的说法 44 if(2){console.log('非0即真')} // 打印 45 if(0){console.log('0')} // 不打印 46 if('abc'){console.log('非空即真')} // 打印 47 if(h){console.log('空')} // 不打印 因为h是空字符串 所以boolean值是false 48 if(null){console.log('非null即真')} // 不打印 49 50 //空对象 51 var k = null; 52 console.log(k, typeof k); //null "object" 53 54 // 未定义:undefined 55 var l; 56 console.log(l);// undefined 值就是undefined 控制台可以看到是灰色的 57 console.log(typeof l);// undefined 类型是undefined 控制台可以看到是黑色的 58 </script> 59 60 61 <!--运算符--> 62 <script type="text/javascript"> 63 // 赋值运算符 64 var x=18,y=5; 65 var z = x; // 将z这个变量也指向 12 这个值的内存地址 66 x = 12; // 从新开辟了一个内存地址存12 x指向这个内存地址 18的内存你地址不变 67 console.log(x,z); // 12,18 68 console.log(x+=y); // 17 等同于 x = x + y 69 console.log(x-=y); // 12 等同于 x = x - y 70 console.log(x*=y); // 60 等同于 x = x * y 71 console.log(x/=y); // 12 等同于 x = x / y 72 console.log(x%=y); // 2 等同于 x = x % y 73 74 // 算数运算符 75 var a = 5,b=2; 76 var c = a + b; 77 console.log(c); // 7 78 var c = a - b; 79 console.log(c); // 3 80 var c = a * b; 81 console.log(c); // 10 82 var c = a / b; 83 console.log(c); // 2.5 84 var c = a % b; 85 console.log(c); // 1 86 var c = a ++; // 这里需要解释下,先将a赋值给测c,然后a再自加,也就下面的代码里a=6. 87 console.log(c); // 5 88 var c = a --; // 这也是一样的,先将a赋值给测c,然后a再自减,也就下面的代码里a=5. 89 console.log(c); // 6 90 var c = ++a ; // 这也不同了,先将a自加,然后a赋值给c,a=6,c=6 91 console.log(c); // 6 92 var c = --a; // 这也不同了,先将a自减,然后a赋值给c,a=5,c=5 93 console.log(c); // 1 94 95 // 比较运算符 96 // 比较运算符得到的是一个布尔值,常用来做判断 97 var m = 666; 98 console.log(m == 666, m == '666', m == 777);// true true false 只要值相等就成 99 console.log(m === 666, m=== '666');// true false 值和类型都需要相同 100 console.log(m != 666, m != 777);// false true 只要值不相等就成 101 console.log(m !== 666, m !== '666');// false true 值和类型都需要不相同 102 console.log(m > 777, m > '222');// false true 比较的是值 不比较类型 103 console.log(m < 777, m < '222');// true false 比较的是值 不比较类型 104 console.log(m >= 777, m >= '222');// false true 比较的是值 不比较类型 105 console.log(m <= 777, m <= '222');// true false 比较的是值 不比较类型 106 </script> 107 108 109 </body> 110 </html>