一、数据类型
1、为什么需要数据类型
在计算机中,不同的数据所需占用的存储空间是不同的,为了便于把数据分成所需内存大小不同的数据,充分利用存储空间,于是定义了不同的数据类型。简单来说,数据类型就是数据的类别型号
2、变量的数据类型
JS是一种弱类型或者动态语言。这就意味着不用提前声明变量的类型,在程序运行过程中,变量的数据类型是根据等号右边的值来自动确定的。
JS拥有动态类型,同时也意味着相同的变量可用作不同的类型
3、数据类型的分类
简单(一般)数据类型(Number、String、Boolean、Udefined、Null)
复杂(引用)数据类型(Object)
二、简单数据类型
简单数据类型 | 解释说明 | 默认值 |
Number | 数字型,包含整数值和浮点型,如12,1.2 | 0 |
Bollean | 布尔值类型,true、false,等价于1、0 | false |
String | 字符串类型,如'王二麻',字符串都带引号 | '' |
Undefined | 未定义,例如: var a;此时a=undefined | undefined |
Null | 空值;例如:var a=null | null |
1、数字型 Number
(1)、数字型进制
常见的进制有二进制、八进制、十进制、十六进制,在JS中,八进制前面加0,十六进制前面加0x
(2)、数字型范围
最大值: Number.MAX_VALUE //1.7976931348623157e+308
如果使用Number表示的数字超过了最大值,则会返回一个Infinity 表示正无穷
使用typeof 检查infinity也会返回number
最小值: Number.MIN_VALUE 大于0的最小值 //5e-324
NaN: 是一个特殊的数字,表示Not a Number, 非数值
使用typeof 检查NaN也会返回number
<script>
var a = 123;
a = 456.789; //下面的数值会覆盖上面的
var b = 123; //这是数字123
console.log(typeof a); //number
a = Number.MAX_VALUE; //最大值
// console.log(a)
a = Number.MIN_VALUE; //最小值
// console.log(a)
a = "abc" * "bcd";
//console.log(a); //NaN
</script>
(3)、数字型计算
在Js中整数的运算基本可以保证精确
如果使用JS进行浮点元素,可能得到一个不精确的结果
<script>
var c = 1 + 2;
console.log(c);//3
var d = 0.1 + 0.2; //如果使用JS进行浮点元素,可能得到一个不精确的结果
console.log(d);//0.30000000000000004
</script>
(4)、isNaN()方式
用来判断NaN,并返回一个布尔值,如果判断的是NaN,则返回true,如果判断的不是NaN,则返回false
console.log(isNaN(123));//false
console.log(isNaN(NaN));//true
(5)、typeof()
语法:typeof 变量 或者 typeof(变量)
作用:检查一个变量的类型,并输出
检查字符串时,会返回string; 检查数值时,会返回number
<script>
var a = 123;
var b = '123';
var c = true;
// 第一种写法
console.log(typeof(a)) // number
console.log(typeof(b)) // string
console.log(typeof(c)) // boolean
// 第二种写法
console.log(typeof a) // number
console.log(typeof b) // string
console.log(typeof c) // boolean
</script>
2、字符串String
(1)、基本语法
字符串型可以是引号中的任意文本,其语法为双引号“”和单引号‘’,一般js中建议用单引号‘’,js可以用单引号嵌套双引号,或者用双引号嵌套单引号
<script>
// 单双引号嵌套
var res = '古诗:"锄禾日当午"';
console.log(res);
</script>
(2)、字符串转义符
转义符都是\开头的,,写在当单双引号里面的,常用的转义符及其说明如下
转义符 | 解释说明 |
\n | 换行符,n表示newline的意思 |
\\ | 斜杠\ |
\' | '单引号 |
\" | "双引号 |
\t | tab缩进 |
\b | 空格,b是blank的意思 |
<script>
//转义字符
var str = "hello";
str = " \''你好 ";
console.log(str,'11');
</script>
(3)、字符串长度
字符串是由若干字符组成的,这些字符的数量就是字符串的长度。length属性可以获取整个字符串的长度
<script>
// 空格和 , 也算入字符长度
var str = 'adcfg gjklt,kk'
console.log(str.length,'字符串长度');// 14
</script>
(4)、字符串拼接
多个字符串之间可以使用+进行拼接,其拼接方式为字符串+任意类型=拼接新字符串 ;
拼接前会把字符串相加的任意类型转成字符串,再拼接成一个新的字符串;
(5)、字符串拼接变量
字符串和变量拼接,变量不能写在引号里面,需要用加好拼接变量
普通拼接:使用 + 拼接
例如:"你好"+age+"hlleo"
<script>
var age = 18;
var str = "我今年18岁了";
str = "我今年" + age + "岁了";
console.log(str);
</script>
还可以使用模板字符串拼接(Vue中使用居多):
模板字符串用反引号包裹:` `
<script>
var age = 18;
var str = "我今年18岁了"
str = `我今年 ${age}岁了`
console.log(str)
</script>
3、布尔值 Boolean
布尔值只有两个值,用来做逻辑判断
true -表示真 false -表示假
使用typeof检查一个布尔值时,会返回boolean
当进行数值运算的时候,true为1,false为0
4、未定义 Undefined
Undefined类型的值只有一个,就是undefined
当声明了一个变量,但是并不给变量赋值时,它的值就是undefined
使用typeof检查一个undefined时也会返回undefined
当进行数值运算时,结果为NaN
5、 空值 Null
null这个值专门用来表示空的对象
使用typeof检查一个null值时,会返回object
当进行数值运算时,null为0