一、数据类型简介
不同的数据所需占用的存储空间是不同的,为了便于把数据分成所需内存大小不同的数据,充分利用存储空间,于是定义了不同的数据类型。
JavaScript 是一种弱类型或者说动态语言。这意味着不用提前声明变量的类型,在程序运行过程中,类型会被自动确定;
JavaScript 拥有动态类型,同时也意味着相同的变量可用作不同的类型;
JS 把数据类型分为两类:
二、简单数据类型
简单数据类型有5类,如上图所示。
2.1数字型Number
数字类型既可以用来保存整数值,也可以保存小数(浮点数)
数字类型进制:八进制0开头(八进制数字序列范围:0~7);十六进制0x开头(0~9以及A~F)。
JavaScript中数值的最大和最小值:l最大值:Number.MAX_VALUE,这个值为: 1.7976931348623157e+308;l最小值:Number.MIN_VALUE,这个值为:5e-32。
数字型的三个特殊值:

isNaN():用来判断一个变量是否为非数字的类型,返回 true 或者 false。
2.2字符串型String
其语法为 双引号 "" 和 单引号'',因为 HTML 标签里面的属性使用的是双引号,JS 这里我们更推荐使用单引号。
字符串引号嵌套:外双内单或者外单内双。
字符串转义符:
字符串长度:.length函数,字符串是由若干字符组成的,这些字符的数量就是字符串的长度。
字符串拼接:多个字符串之间可以使用 + 进行拼接,其拼接方式为 字符串 + 任何类型 = 拼接之后的新字符串。
+ 号总结口诀:数值相加 ,字符相连
字符串和变量相加,口诀:引引加加 ;
2.3布尔型Boolean
布尔类型有两个值:true 和 false ,其中 true 表示真(对),而 false 表示假(错)。
布尔型和数字型相加的时候, true 的值为 1 ,false 的值为 0。
2.4Undefined和Null
一个声明后没有被赋值的变量会有一个默认值 undefined ( 如果进行相连或者相加时,注意结果)
一个声明变量给 null 值,里面存的值为空(学习对象时,继续研究null)
三、获取变量数据类型
typeof 可用来获取检测变量的数据类型
四、数据类型转换
通常会实现3种方式的转换:
1、转换为字符串类型
2、转换为数字型
3、转换为布尔型
4.1转换为字符串
4.2转换为数字型
prompt获得的输入都是字符串;
4.3转换为布尔型
代表空、否定的值会被转换为 false ,如 ''、0、NaN、null、undefined;
其余值都会被转换为 true。
五、扩展
5.1解释型语言和编译型语言
计算机不能直接理解任何除机器语言以外的语言,所以必须要把程序员所写的程序语言翻译成机器语言才能执行程序。程序语言翻译成机器语言的工具,被称为翻译器。
翻译器翻译的方式有两种:一个是编译,另外一个是解释。两种方式之间的区别在于翻译的时间点不同;
编译器是在代码执行之前进行编译,生成中间代码文件;
解释器是在运行时进行及时解释,并立即执行(当编译器以解释方式运行的时候,也称之为解释器)。
类似于请客吃饭:
5.2标识符、关键字、保留字
标识(zhi)符:就是指开发人员为变量、属性、函数、参数取的名字。
标识符不能是关键字或保留字。
关键字:是指 JS本身已经使用了的字,不能再用它们充当变量名、方法名。
保留字:实际上就是预留的“关键字”,意思是现在虽然还不是关键字,但是未来可能会成为关键字,同样不能使用它们当变量名或方法名。