> 文档中心 > JavaScript数据类型归纳

JavaScript数据类型归纳

文章目录

  • 1.数据类型
      • 1.1基本数据类型(不包括ES6)
        • 1.1.1 Number
        • 1.1.2 String
        • 1.1.3 Boolean
        • 1.1.4 undefined
        • 1.1.5 null
        • 1.1.5 typeof
  • 2.数据类型转换
        • ①转换为字符串
        • ②转换为数字型
        • ③转换为布尔型

1.数据类型

在代码运行时,变量的数据类型是由 JS引擎 根据 = 右边变量值的数据类型来判断 的,运行完毕之后, 变量就确定了数据类型

JS 把数据类型分为两类:

  • 基本数据类型(Number,String,Boolean,Undefined,Null)
  • 复杂数据类型(Object)

1.1基本数据类型(不包括ES6)

简单数据类型 说明 默认值
Number 数字型,包含整型值和浮点型值,例如18,0.18 0
Boolean 布尔值类型,如true,false ,等价于1和0 false
string 字符串类型,例如"格子" “”
Null var a = null;声明了变量a为空值 null
Undefined var a; 声明了变量a但是没有赋值,此时a=undefined undefined(未定义的)

1.1.1 Number

JavaScript 数字类型既可以用来保存整数值,也可以保存小数(浮点数)

<script>    var score = 5    var score = 5.35</script>
  • 数字型进制
    最常见的进制有二进制、八进制、十进制、十六进制
<script>    var score1 = 5    //十进制    var score2 = 05   //八进制    var score3 = 0x5  //十六进制</script>

在JS中八进制前面加0十六进制前面加 0x

  • 数字型范围
    JS中数字型数值的最大值用Number.MAX_VALUE表示
    JS中数字型数值的最小值用Number.MIN_VALUE表示
<script>    console.log(Number.MAX_VALUE, Number.MIN_VALUE);    //输出:1.7976931348623157e+308   5e-324</script>
  • 数字型的一些特殊值
    ①数字型中用Infinity来表示无穷大,大于任何有限值,甚至大于上面提到的Number.MAX_VALUE
    ②同样地,数字型中用-Infinity来表示无穷小,小于任何有限值,甚至小于上面提到的Number.MIN_VALUE
    NaN:Not a Number,代表一个非数值
<script>    console.log(Infinity > Number.MAX_VALUE);    console.log(-Infinity < Number.MIN_VALUE);    console.log(NaN);    //true    //true    //NaN</script>
  • isNaN
    这个方法用来判断非数字,并且返回一个值,如果是数字返回的是false,如果不是数字返回的是true
<script>    var flag1 = isNaN(18);    var flag2 = isNaN('hh');    console.log(flag1);  //false    console.log(flag2);  //true</script>

1.1.2 String

字符串型可以是引号中的任意文本,其语法为 "XXX"'XXX'

<script>    var str1 = "格子学前端";    var str2 = '格子学前端';</script>
  • 字符串引号嵌套
    JS可以用单引号嵌套双引号,或者用 双引号嵌套单引号 (外双内单,外单内双)
<script>    var str1 = "格子学'前端''";    var str2 = "格子学'前端'";</script>
  • 字符串转义符
    类似HTML里面的特殊字符,字符串中也有特殊字符,我们称之为转义符。转义符都是 \ 开头的,常用的转义符及其说明如下:
转义符 解释说明
\n 换行符,n是newline
\ \ 斜杠\
\ ’ ’ 单引号
\ ‘’ ‘’ 双引号
\ t tab 缩进
\ b 空格,b是blank的意思
  • 字符串长度
    我们可以通过字符串Stringlength 属性来得到字符串的长度
<script>    var str = "格子";    console.log(str.length);  //2</script>
  • 字符串的拼接
    多个字符串之间可以使用 + 进行拼接,其拼接方式为 字符串 + 任何类型 = 拼接之后的新字符串
<script>    var str = "格子";    var score=18;    console.log(str+score);  //格子18   </script>

1.1.3 Boolean

  • 布尔类型有两个值:truefalse ,其中 true 表示,而 false 表示
  • 布尔型和数字型相加的时候, true 的值为 1 ,false 的值为 0
<script>    var flag = true;    console.log(flag * 2);  //2    //在进行加减乘除计算时Boolean类型的变量的值可看作1或者0</script>

1.1.4 undefined

  • 一个声明后没有被赋值的变量会有一个默认值 undefined
  • 值为undefined的变量与一个字符串型变量相加结果是将undefined当作字符串来看待
  • 值为undefined的变量与一个数字型变量相加,结果是NaN
<script>    var index;    console.log(index);   //undifined    console.log(index+"of");  //indexof    console.log(index+19);  //NaN   </script>

1.1.5 null

赋给变量 null 值,里面存的值为空

<script>    var flag = null;    console.log(flag+"格子");  //flag格子    console.log(flag+1);  //1</script>

1.1.5 typeof

typeof 可用来获取检测变量的数据类型

<script>    var age = 18;    var flag = true;    var str = "格子";    var index;    var kk = null;    console.log(typeof (age));  //number    console.log(typeof (flag));  //boolean    console.log(typeof (str));  //string    console.log(typeof (index));  //undefined    console.log(typeof (kk));  //object</script>

tips:

  • 存储null的变量的类型是object

2.数据类型转换

使用表单、prompt获取过来的数据默认是字符串类型的,此时就不能直接简单的进行加法运算,而需要转换变量的数据类型。通俗来说,就是把一种数据类型的变量转换成另外一种数据类型。

①转换为字符串型

方式 说明 案例
toString() 转成字符串 var num = 1; alert(num.toString());
String() 转成字符串 var num = 1; alert(String(num));
加号拼接字符串 和字符串拼接的结果都是字符串 var num =1; alert(num+“格子学前端”);
<script>    var index1 = 18;    var index2 = 19;    var index3 = 20;    console.log(index1.toString());  //toString()    console.log(String(index2));    //String()     console.log(index3 + '格子');   //'+'强制连接    //输出: 18   19   20格子</script>

②转换为数字型

方式 说明 案例
parselnt(string)函数 string类型转成整数数值型 parselnt(‘18’)
parseFloat(string)函数 string类型转成浮点数数值型 parseFloat(‘18.18’)
Number()强制转换函数 string类型转换为数值型 Number(‘12’)
js 隐式转换(- * /) 利用算术运算隐式转换为数值型 ‘12’-0
<script>    //parseInt()    console.log(parseInt('18'));  //18    console.log(parseInt('18.18'));  //18,截去小数部分    //parseFloat()    console.log(parseFloat('18.99'));  //18.99    //Number    console.log(Number('1888'));  //1888</script>

③转换为布尔型

方法 说明 案例
Boolean()函数 其他类型转成布尔值 Boolean(‘true’);
  • 代表空,否定的值会被转换为false,如 ’ ’ , 0, NaN , null , undefined
  • 其余的值都会被被转换为true
<script>    console.log(Boolean(''));  //false    console.log(Boolean(NaN)); //false    console.log(Boolean(null));  //false    console.log(Boolean(undefined)); //false    console.log(Boolean(18));  //true    console.log(Boolean('格子'));  //true</script>