JavaScript的变量数据类型,是在程序运行的过程中,根据等号右边的值来确定的。
局部变量会在函数运行以后被删除
全局变量会在页面关闭后被删除
简单数据类型(基本数据类型)
数据类型 | 说明 | 默认值 |
---|---|---|
Number | 数字型,包含整形和浮点型,如12,0.3 | 0 |
Boolean | 布尔值,true和false,等价于1和0 | false |
String | 字符串,如"张三”,注意, | “” |
Undefined | var a; 声明了变量a但是没有给值,此时a = undefined | Undefined |
Null | var a=null; 声明了变量a为空值 | Null |
数字型
- 在javascript中二进制前面加0b,八进制前面加0,十六进制前面加0x
- infinity表示无穷大,-infinity表示无穷小
- NaN,Not a number,代表一个非数值
字符串型
- 在JavaScript里面,字符串都带英文引号
- 单引号和双引号都可以,但推荐使用单引号
- 引号可以嵌套,外单内双或者外双内单
字符串转义符
转义字符都用 \ 开头,且写在引号里
转义符 | 说明 |
---|---|
\n | 换行符,n=newline |
\\ | 斜杠\ |
\’ | '单引号 |
\" | "双引号 |
\t | tab缩进 |
\b | 空格,b=blank |
布尔型
- 布尔类型有两个值:true和false,其中true表示真(对),而false表示假(错)
- 布尔值用来运算的时候,true看作1,false看作0
Undefines和Null
一个声明后没有被赋值的变量会有一个默认值undefined(如果进行相连或者相加时,注意结果)
var variable;
console.log(variable); //undefined
console.log('你好'+variable); //你好andefined
console.log(11 variable); //NaN
console.log(true variable); //NaN
一个声明变量给null值,里面存的值为空
var vari null;
console.1og('你好'+vari); //你好nu11
console.log(11 vari); //11
console.log(true vari); //1
数据类型转换
获取数据类型
在JavaScript中使用typeof
来获取变量的数据类型
var num = 18;
var str1 = 'mike';
var boo1 = true;
var und = undefined;
var und2;
var nu = null;
console.log(typeof num); //number
console.log(typeof(str1)); //string
console.log(typeof(boo1)); //boolean
console.log(typeof(und)); //undefined
console.log(typeof(und1)); //undefined
console.log(typeof(nu)); //object
数据类型转换
-
转换为字符串类型
方式 说明 案例 toString() 直接转换成字符串 var num = 1; console.log(typeof(num.toString())); String() 强制转换 直接转换成字符串 var num = 1; console.log(typeof(String(num))); 加号拼接字符串 和字符串拼接成新的字符串 var num = 1; console.log(typeof(num + ‘’)); toString()
和String()
使用方式不一样。- 三种转换方式,我们更喜欢用第三种加号拼接字符串转换方式,这一种方式也称之为隐式转换。
-
转换为数字型
方式 说明 案例 parseInt(string)函数 将string类型转成整数数 parseInt(‘79’) parseFloat(string)函数 将string类型转成浮点数 parseFloat(‘79.89’) Number()强制转换函数 将string类型转换为数值型 Number(‘57’) js隐式转换(- * /) 用算术运算隐式转换为数值型 ‘12’ - 0 ‘12’ * 2 ‘12’ / 3 parseInt()
如果转换的是3.14
,会自动取整变成3
parseInt()
和parseFloat()
是重点掌握- 如果是
'83px'
这种字符串,则会自动去掉后面的字母变成83
;如果是em56px
这种,则会是NaN
- 用隐式转换时,如果是
+
,则会变成字符串;如果是-
,*
,/
,则会变成数字型
-
转换为布尔型
- 代表空、否定的值会被转换为 false,如""、0、NaN、null、undefined
- 其余值都会被转换为 true