什么是数据类型?
我们人类可以很很容易的分清数字与字符的区别,但是计算机并不能,计算机虽然很强大,但从某种角度上看又很傻,除非你明确的告诉它,1是数字,“汉”是文字,否则它是分不清1和“汉”的区别的,因此,在每个编程语言里都会有一个叫数据类型的东东,其实就是对常用的各种数据类型进行了明确的划分,你想让计算机进行数值运行,你就传数字给它,你想要让他处理文字,就传字符串类型给他。
JavaScript中常用的数据类型:
- 数字(Number):一个数字,可以是整数,也可以是小数。
- 字符串(String):一行文字,也可以是字母。
- 布尔(Boolean):只有两个值,true和false
- 数组(Array):一个数值的集合,比如[1,2,3,4]
- 对象(Object):一种更复杂的对象的表现,由花括号分隔。在括号内部,对象的属性以名称和值对的形式(name:value)来定义。
- 空(Null):一个空值变量,它可以为各种可能的类型,可以用来清除不需要的变量。
- Undefined:一个未定义值,当你使用一个对象的没有的属性或一个未赋值的变量时就会输出这个。
Number类型:
- JavaScript中的数值都是以IEEE 754双精度浮点数格式保存
- 数值类型超出了其表述范围时,由Infinity(正无穷大)或-Infinity(负无穷大)表示。
- JavaScript支持八进制和十六进制。八进制以0开头,十六进制以0x或0X开头
String类型:
- 字符串必须用引号括起来,可以是单引号,也可以是双引号。
- 比较两字符串字符序列是否相等用==即可,无需equals()
Boolean类型:
布尔值只有两个值:true或false。区分大小写,即True和False不算布尔值而是标识符。
Null:
- Undefined与null的值相等,但类型不相等,如果不进行精确比较,很多时候undefined和null就相等,即null==undefined返回true
- undefined表示没有为变量设置值或属性不存在,null表示变量是有值的,只是值为null
- null的数据类型是对象,历史原因,规范曾尝试修改typeof null返回“null”,之后大量网站无法访问,为了兼容,或者说历史原因而保留返回“object”。
undefined:
var声明的变量未初始化时,这个变量的值为undefined。