JavaScript 中有 5 中简单数据类型 (也称为基本数据类型): Undefined,Null,Boolean,Number 和 String. 还有 1 中复杂的数据类型 ----Object,Object 本质上是由一组无序的名值对组成的.
JavaScript 中用 var 关键字来定义变量, 因为 JS 是弱类型的, 所以无法确定变量一定会存储什么值, 也就不知道变量到底会是什么类型, 而且变量的类型可以随时改变.
这就是 JavaScript 是松散类型的来由, 所谓松散类型就是可以用来保存任何类型的数据.
ps:
es6 中新增了 let 命令来声明变量, const 命令声明一个只读的常量.
let 的用法类似于 var, 但是所声明的变量, 只在 let 命令所在的代码块内有效.
const 一旦声明, 常量的值就不能改变.
typeof 操作符
由于 JS 中的变量是松散类型的, 所以它提供了一种检测当前变量的数据类型的方法, 也就是 typeof 关键字. 通过 typeof 关键字, 对这 5 种数据类型会返回下面的值 (以字符串形式显示)
undefined ---------- 如果值未定义 Undefined
boolean ---------- 如果这个值是布尔值 Boolean
string ---------- 如果这个值是字符串 String
number ---------- 如果这个值是数值类型 Number
object ---------- 如果这个值是对象或 null Object
需要注意的是 typeof null 返回为 object, 因为特殊值 null 被认为是一个空的对象引用.
来源: http://www.css88.com/qa/javascript/11845.html