数据类型
1,Number 数字类型
-
数字型进制
-
数字型范围
-
数字的特殊值
-
isNaN
数字型进制
表示整数的方法有10进制,8进制和16进制。就一般使用的数值而言,16进制是指0-15的数值(0到9,a到f),在JavaScript中,在其前面加"0x",标志其为16进制,8进制是在0-7前面加"0"。
数字型范围
最大值:Number.MAX_VALUE,这个值为: 1.7976931348623157e+308
最小值:Number.MIN_VALUE,这个值为:5e-324
数字的特殊值
Infinity ,代表无穷大,大于任何数值
Infinity ,代表无穷小,小于任何数值
NaN ,Not a number,代表一个非数值
isNaN
用来判断一个变量是否为非数字的类型 ,返回 true 或者 false
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> <script> var age = 21; var isNum = isNaN(age); console.log(isNum); // false var name= "小明"; console.log(isNaN(name)); // true ,"小明"是一个非数字 </script> </body> </html>
2,String字符串类型
字符串定义
字符串型可以是引号中的任意文本,其语法为 双引号 "" 和 单引号''。
举例:var name = ”小明”; //没有引号会报错
引号嵌套
JS 可以用单引号嵌套双引号 ,或者用双引号嵌套单引号 (外双内单,外单内双)
var myName = “我的姓名是’小明’”;
字符串转义符
字符串中有特殊字符,我们用转义符都是 \ 开头的进行转义。
\n :换行符;
\\ :斜杠\;
\’: ‘ 单引号;
\”:双引号”;
\t: tab缩进
\b:空格
字符串长度
字符串是由若干个字符组成,这些字符的数量就是字符串的长度。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script>
var str = "我是高帅富!";
alert(str.length); //输出是6
</script>
</body>
</html>
字符串拼接
多个字符串之间可以使用 + 进行拼接之后得到新的字符串。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script>
var str = "路漫漫其修远兮,",strAll="";
strAll = str + "吾将上下而求索";
alert(strAll );//路漫漫其修远兮,吾将上下而求索
alert(100+100);//200
alert(100+"100");//100100
alert("100"+"100");//100100
</script>
</body>
</html>
展示如下:
1.
2.
3-4 第三个是数字与字符串拼接,第四个是两个字符串拼接,但是两个输出效果都是一样的
小结:字符串与数字相加,字符相连。
变量也可以和字符相加,变量不能加引号,否则会当成字符串。
3,布尔型Boolean
尔类型有两个值:true 和 false ,其中 true 表示真(对),而 false 表示假(错)。
布尔型和数字型相加的时候, true 的值为 1 ,false 的值为 0。
console.log(true + 1); // 2
console.log(false + 1); // 1
Undefined和 Null
Undefined:一个声明后没有被赋值的变量会有一个默认值undefined;
var myName;
console.log(myName); // undefined
console.log('你好' + myName); // 你好undefined
console.log(11 + myName); // NaN
console.log(true + myName); // NaN
Null:一个声明变量给 null 值,里面存的值为空;
var myName= null;
console.log('你好' + myName); // 你好null
console.log(11 + myName); // 11
console.log(true + myName); // 1
获取变量类型
typeof 可用来获取检测变量的数据类型。
var num = 18;
var myname = null;
console.log(typeof num) // 结果 number
console.log(typeof myname) // object
类型转换
比如说,在表单(form)、prompt中提交的信息都是字符串信息,就无法就行加减,这时候就需要数据类型转换。
转换为字符串
toString:
<script> var num = 13; console.log(typeof num.toString()); </script>
String:
<script> var num =13; console.log(typeof String(num)); </script>
第三种方式字符串拼接
<script> var num = 13; console.log(typeof 13 + '我是字符串'); </script>
数字类型转换
parseInt(string, radix):将string类型转成整数数字类型。
parseInt("12"); //returns 12
parseInt("12blue"); //returns 12
parseInt("12.8"); //returns 12
parseInt("blue"); //returns NaN
radix可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。
parseFloat(string) 将string类型转成浮点数数字类型。
Number(string) 将string强制转换成数字类型。
转为布尔类型
代表空、否定的值会被转换为 false ,如 ''、0、NaN、null、undefined,其余值都会被转换为 true。
<script>
console.log(Boolean('')); // false
console.log(Boolean(0)); // false
console.log(Boolean(NaN)); // false
console.log(Boolean(null)); // false
console.log(Boolean(undefined)); // false
console.log(Boolean('小白')); // true
console.log(Boolean(12)); // true
</script>
总结
编译器:是在代码执行之前进行编译,生成中间代码文件,好比:首先把所有菜做好,才能上桌吃饭。
解释器:解释器是在运行时进行及时解释,并立即执行(当编译器以解释方式运行的时候,也称之为解释器)好比吃火锅,边吃边涮,同时进行。
标识符:就是指开发人员为变量、属性、函数取的名字,标识符不能是关键字或保留字。
关键字:是指 JS本身已经使用了的字,不能再用它们充当变量名、方法名。包括:break、case、catch、continue、default、delete、do、else、finally、for、function、if、in、instanceof、new、return、switch、this、throw、try、typeof、var、void、while、with 等。
保留字:实际上就是预留的“关键字”,意思是现在虽然还不是关键字,但是未来可能会成为关键字,同样不能使用它们当变量名或方法名。包括:boolean、byte、char、class、const、debugger、double、enum、export、extends、fimal、float、goto、implements、import、int、interface、long、mative、package、private、protected、public、short、static、super、synchronized、throws、transient、volatile 等。