数据类型
一、数据类型意义
把数据分成所需内存大小不同的数据,充分利用存储空间。数据类型就是数据的类别型号
二、变量与数据类型
var x1 = 10; // 数字型
x2 = 'ASD'; //字符串型
var x3= 10; // 数字型
var x4= '456'; //字符串型
//加''为字符串型
三、简单数据类型
1.数字型 Number
var num = 10; // 数字型
var xxx= 3.255; // 数字型
console.log(Number.MAX_VALUE); //数字型的最大值 Number.MAX_VALUE
// 输出结果1.7976931348623157e+308
console.log(Number.MIN_VALUE); //数字型的最小值 Number.MIN_VALUE
// 输出结果5e-324
console.log(Number.MAX_VALUE * 2); //数字型的无穷大 Number.MAX_VALUE * 2
//输出结果 Infinity 无穷大(大于任何数值)
console.log(-Number.MAX_VALUE * 2);//数字型的无穷小 -Number.MAX_VALUE * 2
//输出结果 -Infinity 无穷小(小于任何数值)
console.log('xxx' - 100); //3.数字型的非数字
//输出结果 NaN 非数值(Not a number,代表一个非数值)
- 补充:
-
isNaN()
- 用来验证用户输入的内容
- 是否为数字 并且返回一个值
- 是数字 返回的是 false
- 不是数字 返回的是true
console.log(isNaN(12)); // false
console.log(isNaN('xxx')); // true
2.字符串型 String
-
1.字符串引号嵌套
- 单引号嵌套双引号
- 双引号嵌套单引号
var xxx1 = "123'456'"
console.log(xxx1);
var xxx2 = '456"123"'
console.log(xxx2);
-
2.字符串转义符
- 转义符都是 \ 开头的,常用的转义符及其说明如下:
转义符 | 解释说明 |
---|---|
\n | 换行符,n 是 newline 的意思 |
\ \ | 斜杠 \ |
’ | ’ 单引号 |
" | ”双引号 |
\t | tab 缩进 |
\b | 空格 ,b 是 blank 的意思 |
var xxx = '12\n3"456"'
console.log(xxx);
/*输出结果:
12
3"456"*/
-
3.字符串长度
-
通过 xxx.length 属性可以获取整个字符串的长度。
-
var xxx = "asd fgh xcv andy" console.log(xxx.length); //输出结果16
4.字符串拼接
-
多个字符串之间的拼接方式为 字符串 + 任何类型 = 拼接之后的新字符串
-
过程:拼接前会把与字符串相加的任何类型转化成字符串,再拼接成一个新的字符串
-
字符串类型+任何类型=字符串类型
-
数字型+数字型=数字型
-
console.log('xxx' + 'ccc'); //输出结果:xxxccc console.log('xxx' + 123); //输出结果:xxx123 console.log('xxx' + ccc); //输出结果:xxxccc console.log(123 + 456); //输出结果:123456 console.log('123' + 456); //输出结果:123456
号总结口诀:数值相加 ,字符相连
-
5.字符串拼接加强
-
变量不写到字符串里面,通过和 字符串相连的方式实现 例:
字符串+变量+字符串
- 方便修改所需值
-
//字符串+数字+字符串 console.log('xxx' + 123 + 'ccc'); //输出结果:xxx123ccc //含有 变量 的拼接 var age =123; console.log(''xxx"+ age + 'ccc');
3.布尔型 Boolean
- 布尔类型有两个值:true 和 false ,其中 true 表示真(对),而 false 表示假(错)。
- 布尔型和数字型相加时, true 的值为 1 ,false 的值为 0
var xxx1 = true;
var xxx2 = false;
// true 参与加法运算当1来看
console.log(xxx1 + 1);
//输出结果:2
// false 参与加法运算当 0来看
console.log(xxx2 + 1);
//输出结果:1
4.未定义数据类型 Undefined
var str;//未赋值
console.log(str);
// 输出结果:undefined
var xxx = undefined;
console.log(xxx + '123');
// 输出结果:undefined123
console.log(variable + 1);
//输出结果:Nan (不是一个数字)
5.空值 Null
var xxx = null;//变量xxx里储存值为空
console.log(xxx + 'mmm');
// 输出结果:nullmmm
console.log(xxx + 1);
// 输出结果:1
三、检测变量的数据类型
var xxx = 123;
console.log(typeof xxx) // 输出结果:number
返回值
类型 | 举例 | 结果 | 控制台颜色 |
---|---|---|---|
String | typeof “xxx” | “string” | 黑色 |
Number | typeof 123 | “number” | 蓝色 |
Boolean | typeof true/false | “boolean” | 深蓝 |
Undefined | typeof undefined | “Undefined” | 浅灰 |
Null | typeof null | “object”(对象) | 浅灰 |
四、数据类型转换
-
1.转换为字符串
-
1.
变量.toString()
-
2.
String(变量)
-
3.
变量+' '
[ 隐式转换 ]
var xxx = 10;
var str = xxx.toString();
console.log(xxx);
console.log(String(xxx));
console.log(xxx + '');
-
2.转换为数字型(重点)
-
parseInt(变量)
字符型的转换为数字型 结果 取 整数
自动去除单位
-
parseFloat(变量)
字符型的转换为数字型 结果 取 小数 [ 浮点数 ]
自动去除单位
-
- 利用
Number(变量)
- 利用
-
- 利用了算数运算
变量 ' - ' ' * ' ' / '...
[ 隐式转换 ]
- 利用了算数运算
// 1. parseInt(变量)
var xxx = prompt('请输入您的年龄');//prompt得出结果为字符型
console.log(parseInt(xxx));
console.log(parseInt('3.14')); // 输出结果:3 取整
console.log(parseInt('120px')); // 输出结果:120 会去掉这个px单位
console.log(parseInt('xxx120px')); // 输出结果:NaN
// 2. parseFloat(变量)
console.log(parseFloat('3.14')); // 输出结果:3.14
console.log(parseFloat('123px')); // 输出结果:123 会去掉这个px单位
console.log(parseFloat('xxx123px')); // 输出结果:NaN
// 3. 利用 Number(变量)
var str = '123';
console.log(Number(str));//输出结果:123
console.log(Number('12'));//输出结果:12
// 4. 利用了算数运算 - * /
console.log('12' - 0); // 输出结果:12
console.log('123' - '120');//输出结果: 3
console.log('123' * 1);// 输出结果:123
-
3.转换为布尔型
-
Boolean()
-
- 代表空、否定的值会被转换为 false ,如 " " 、0、NaN、null、undefined
-
- 其余值都会被转换为 true
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('123'));//输出结果:true
console.log(Boolean('xxx'));//输出结果:true
console.log(Boolean('我很好'));//输出结果:true
五、标识符、关键字、保留字
- 标识符
标识(zhi)符:开发人员为变量、属性、函数、参数取得名字。
标识符不能是关键字或保留字 - 关键字
关键字:是指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 等。