5.1 概述
基本类型5种
number 数字类型
string 字符串类型
undefined undefined类型,变量未定义时的值,这个值自己是一种类型
boolean 布尔类型,仅有两个值true 和 false,讲if语句时我们细说
null null类型,这个值自己是一种类型,遇见时我们细说
引用类型
讲到再说
至于什么是引用类型,我们到时候见到再说。
5.2 typeof关键字
这个关键字,用来检测一个变量的类型。
1 var a = 100; 2 console.log(typeof a); |
5.3 number类型
所有的数字都是number类型
1 <script type="text/javascript"> 2 //下面定义的变量都是number类型 3 var a = 100; 4 var b = 234243245345; 5 var c = -345345435435; 6 var d = 345.3245234; 7 var e = .5e6; 8 var f = 0xff; 9 var g = 017; 10 var h = Infinity; 11 var i = NaN; 12 13 console.log(typeof a); 14 console.log(typeof b); 15 console.log(typeof c); 16 console.log(typeof d); 17 console.log(typeof e); 18 console.log(typeof f); 19 console.log(typeof g); 20 console.log(typeof h); 21 console.log(typeof i); 22 </script> |
JS中所有的数字都是number类型的,不在细分为整形int、浮点型float这些乱七八糟的东西。
number类型的东西:所有数字(不分正负、不分整浮、不分大小、不分进制)、Infinity、NaN。
5.4 string类型
1 var m1 = "哈哈"; 2 var m2 = "123"; 3 var m3 = ""; //空字符串,也是字符串 4 console.log(typeof m1); 5 console.log(typeof m2); 6 console.log(typeof m3); |
这个变量是什么类型,和赋的值有关系,而和定义的时候是没有关系的。定义的时候,都是用var关键字定义的。
1 var mm = 123; //number 2 console.log(typeof mm); 3 mm = "哈哈"; //改为string是合法的 4 console.log(typeof mm); |
我们说js这个语言叫做动态数据类型,原因就在这里,就是赋值的时候就决定这个变量的类型了。甚至可以改变这个变量的值,为其他类型的值。变量的类型是自动检测的,而不是人规定的。
5.5 undefined类型
之前说过,一个变量只var过,没有赋初值,它的默认值是undefined;
这个undefined是自成一家,自己是自己的类型,它的类型也叫作undefined。undefined类型的值就只有undefined一个。
1 var nn; //我只定义了,没有赋初值,所以就是undefined,类型也是undefined 2 console.log(nn); 3 console.log(typeof nn); |
5.6 加号
加号是一个运算符,我们先提前说一下。
加号两边都是数字的时候,那么就是数学加法;两边不都是数字的时候,那么就是连字符,结果是字符串。
1 console.log("你" + "好"); |
1 console.log(1 + "2"); |
因为2被引号引起来了,所以就是字符串,所以+就是连字符
1 var a = "1"; 2 var b = "2"; 3 console.log(a + b); |
1 var a = 1; 2 var b = 2; 3 console.log("a" + b); //a2 |
多个加号,从左算到右:
1 var a = 1; 2 var b = 2; 3 var c = 3; 4 console.log("a" + a + b + "c"); |
1 var a = 1; 2 var b = 2; 3 var c = 3; 4 console.log(a + b + "c"); |
欧克了,下面附上代码
变量还是字符串
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>Document</title> <script type="text/javascript"> // var a = 100; // console.log("a"); var a = "我爱中国"; console.log(a); </script> </head> <body> </body> </html>
typeof检测类型
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>Document</title> <script type="text/javascript"> //下面定义的变量都是number类型 // var a = 100; // var b = 234243245345; // var c = -345345435435; // var d = 345.3245234; // var e = .5e6; // var f = 0xff; // var g = 017; // var h = Infinity; // var i = NaN; // console.log(typeof a); // console.log(typeof b); // console.log(typeof c); // console.log(typeof d); // console.log(typeof e); // console.log(typeof f); // console.log(typeof g); // console.log(typeof h); // console.log(typeof i); //以下都是字符串类型的 // var m1 = "哈哈"; // var m2 = "123"; // var m3 = ""; //空字符串,也是字符串 // console.log(typeof m1); // console.log(typeof m2); // console.log(typeof m3); // 动态数据类型 // var mm = 123; // console.log(typeof mm); // mm = "哈哈"; // console.log(typeof mm); // undefined var nn; console.log(nn); console.log(typeof nn); </script> </head> <body> </body> </html>
加号的意义
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>Document</title> <script type="text/javascript"> // console.log("你" + "好"); // console.log(1 + 2); //3 // console.log(1 + "2"); //12 // var a = "1"; // var b = "2"; // console.log(a + b); //12 // var a = 1; // var b = 2; // console.log("a" + b); //a2 // var a = 1; // var b = 2; // var c = 3; // console.log("a" + a + b + "c"); var a = 1; var b = 2; var c = 3; console.log(a + b + "c"); </script> </head> <body> </body> </html>
欧了,下一篇。