1.数据类型分类
2.判断类型
数据类型分类:
- 基本(值)类型:
- Number: 任意数字,
- String:任意字符串,
- Boolean:true/false,
- null: null --- 常用来预定义对象,后用来释放内存,
- undefined: undefined --- 定义了未赋值
- 对象(引用)类型:
- Object: 任意对象,
- Function:一种特别的对象(可以执行),
- Array:一种特别的对象(数值下标,有序的数据列表)
判断类型:
- typeof: 返回数据类型的字符串表达(小写): 'number','string','boolean','function','undefined', 能用typeof来判断的数值类型有:number,string,boolean,undefined; 不能判断的类型有:null和object object和Array
- instanceof:返回布尔值
- === / ==
使用typeof:返回数据类型的字符串表达
判断Number类型
var a = 123;
console.log(typeof a === 'number') // true
判断String类型
var a = 'abc'
console.log(typeof a === 'string') // true
判断Boolean类型
var a = true/false
console.log(typeof a === 'boolean') // true
判断null类型
console.log(typeof a === 'object') // true
console.log(a === null) // true
使用instanceof:返回布尔值
var b1 = {
b2: [1, 'abc', console.log],
b3: function() {}
}
// a实例对象是不是Object的实例, Object是一个构造函数: new Object()
console.log(b1 instanceof Object, b1 instanceof Array) // true false
console.log(b1.b2 instanceof Array, b1.b2 instanceof Object) // true true
console.log(b1.b3 instanceof Function, b1.b3 instanceof Object) // true true
console.log(typeof b1.b3 === 'function') // true
----
类型对象与实例对象
function Person(name, age) {
this.name = name
this.age = age
}
var p = new Person('tom', 12) // p是实例对象,Person是类型对象
- 数据类型:基本类型、对象类型
- 变量类型:基本类型、引用类型
- 单体内置对象: Object, Array, String, Global, Math
Global对象的所有属性: undefined 特殊值undefined NaN 特殊值NaN Infinity 特殊值 Object 构造函数Object Array 构造函数Array Function 构造函数Function Boolean 构造函数Boolean String 构造函数String Number 构造函数Number Date 构造函数Date RegExp 构造函数RegExp Error 构造函数Error EvalError 构造函数EvalError RangeError 构造函数RangeError ReferenceError 构造函数ReferenceError SyntaxError 构造函数SyntaxError TypeError 构造函数TypeError URIError 构造函数URIError