1. 数据类型
1.1 为什么需要数据类型
在计算机中,不同的数据所占用的存储空间是不同的,为了便于把数据分成所需内存大小不同的数据,充分利用存储空间,于是定义了不同的数据类型。
1.2 变量的数据类型
变量是用来存储值的所在处,它们有名字和数据类型。变量的数据类型决定了如何将代表这些值的位存储到计算机的内存中。JavaScript是一种弱类型或者说动态语言。这意味着不用提前声明变量的类型,在程序运行过程中,类型会被自动确定。
总结:JS 的变量数据类型是在程序运行过程中,根据等号右边的值来确定的。
var age = 10;//这是一个数字型
var str = "hello";//这是一个字符串
JavaScript拥有动态类型,同时也意味着相同的变量可用作不同的类型。
1.3 数据类型的分类
JS把数据类型分为两类:
- 简单数据类型(Number, String, Boolean, Undefined, Null)
- 复杂数据类型(object)
2. 简单数据类型
2.1 数字型 Number
Number:数字型,包含整型值和浮点型值,如21,0.21 。默认值:0
var num = 10;// num 数字型
var PI = 3.14;// pI 数字型
// 1. 八进制,在数字前面加0表示八进制
var num1 = 010;//转化为十进制就是 8
// 2. 十六进制 在数字前面加0x 表示十六进制
var num2 = 0xa;// 转化为十进制为 10
// 3. JavaScript中数值的最大值和最小值
alert(Number.MAX_VALUE);
alert(Number.MIN_VALUE);
// 4. 无穷大
alert(Infinity);
// 5. 无穷小
alert(-Infinity);
// 6. 非数字(Not a Number)
alert('hello' - 2);//NaN
// 7. isNaN() 这个方法用来判断非数字 是数字返回false 不是数字 返回true
2.2 布尔型 Boolean
Boolean:布尔值类型,如true、false。默认值:false
2.3 字符串型 String
String:字符串型,字符串都带引号,如"张三"。默认值:""
-
字符串型可以是引号中的任意文本,其语法为双引号"" 和单引号’’, 因为HTML标签里面属性使用的是双引号,JS中推荐使用单引号。
-
字符串转义符
\n:换行符,n 是newline的意思
\\: 斜杠\
\’: 单引号
\": 双引号
\t: tab 缩进
\b: blank 空格
-
字符串长度
字符串是由若干字符组成的,这些字符的数量就是字符串的长度。通过字符串的length属性可以获取整个字符串的长度。
var str = "哈哈哈"; alert(str.length);//显示3
-
字符串拼接
-
多个字符串之间可以使用 + 进行拼接,其字符串 + 任何类型 = 拼接后的新字符串
-
经常会将字符串与变量来拼接,因为变量可以很方便的修改里面的值
-
变量是不能添加引号的,因为加引号的变量会变成字符串。
var age = 18; console.log('我' + age + '岁啦');
-
2.4 Undefined
Undefined:声明未赋值,如var a;此时a = undefined。默认值:undefined
var variable;
console.log(variable);//undefined
console.log('你好' + variable);//你好undefined
console.log(11 + variable);//NaN
console.log(true + variable);//NaN
2.5 Null
Null:声明了变量为空值,如var a = null; 默认值:null
var vari = null;
console.log('你好' + vari);//你好null
console.log(11 + vari);//11
console.log(true + vari);// 1
3. 获取变量数据类型
3.1 获取检测变量的数据类型
typeof 可用来检测变量的数据类型
var num = 10;
console.log(typeof num);//number
3.2 字面量
字面量是在源代码中一个固定值表示法,通俗来说,就是字面量表示如何表达这个值
- 数字字面量:1, 2 , 3
- 字符串字面量:‘前端开发’
- 布尔字面量:true, false
4. 数据类型转换
4.1 什么是数据类型转换
使用表单、prompt获取过来的数据默认是字符串类型的,此时就不能直接简单的进行加法运算,而需要转换变量的数据类型。通俗来说,就是把一种数据类型转化为另一种数据类型。
通常会实现3种方式的转换:
- 转换为字符转类型
- 转换为数字型
- 转换为布尔型
4.2 转换为字符串类型
-
toString()
var num = 1; alert(num.toString());//'1'
-
String() 强制转换
var num = 1; alert(String(num));//'1'
-
加号拼接字符串
var num = 1; alert(num + '');//'1'
4.3 转化为数字型(重点)
-
parseInt(string) 函数
parseInt('78');//78 parseInt('78.21');//78 取整 parseInt('78px');//78会去掉px 单位 parseInt('rem78px');//NaN,不能以字母开头
-
parseFloat(string)
parseFloat('78.21')//78.21
-
Number() 强制转换函数
Number('12')
-
js隐式转换(- * /)
'12'-0
4.4 转化为布尔型
- Boolean()函数
- 代表空、否定的值会被转化为false,如’’、0、NaN、 null、undefined
- 其余值都会被转化为true
console.log(Boolean(''));//flase
console.log(Boolean(0));//flase
console.log(Boolean(NaN));//flase
console.log(Boolean(null));//flase
console.log(Boolean(undefined));//flase
console.log(Boolean('小白'));//true
console.log(Boolean(12));//true