一、js中的数据类型:基本数据类型 和 复杂数据类型
基本(简单)数据类型:
string
字符串
number
数值(正数和浮点数)
boolean
布尔值(true和false)
null
空(对象)
undefined
未定义
复杂(复合)数据类型:
Object
对象(js中所有的复杂数据类型都是基于object)
Array
数组
Date
日期
Function
函数
RegExp
正则表达式
String
字符串对象(基本包装类型)
Number
数值对象
Boolean
布尔值对象
二、判断数据类型
关键字:
typeof
语法:typeof
数据(变量)
结果:
typeof
字符串string
typeof
数值number
typeof
true/falseboolean
typeof
undefinedundefined
typeof
nullobject
typeof
functionfunction
typeof
复杂数据类型object
(除了function
)
-
关于typeof的注意点:
-
typeof
本身是操作符不是函数 -
typeof
本身有返回值,返回值的类型是string
-
-
什么情况下变量的值为undefined和null?
- 声明了变量,但是从来没有赋过值,此时打印变量的值为undefined
- 变量的值永远不会为null,除非手动给变量赋值为null
-
为什么我们需要把变量的值设置为null?
- 当不用变量的时候,将变量置为null,告诉系统回收存储此变量的内存空间(js的垃圾回收机制)
示例
var str = "string";
var num = 10;
var boolT = true;
console.log(typeof str); // 打印出来的类型为:string
console.log(typeof num); // 打印出来的类型为:number
console.log(typeof boolT); // 打印出来的类型为:boolean
var un;
console.log(un); // 打印出来的值为:undefeind
console.log(typeof un); // 打印出来的类型为:undefeind
var unT = null;
console.log(unT); // 打印出来的值为:null
console.log(typeof unT); // 打印出来的类型为:object
var arr = [1,2,3];
console.log(typeof arr); // 打印出来的类型为:object
var date = new Date();
console.log(typeof date); // 打印出来的类型为:object
var obj = {};
console.log(typeof obj); // 打印出来的类型为:object
console.log(typeof function () {
}); // 打印出来的类型为:function