创建对象的方式
1. 对象字面量
var obj = {}
2. 内置构造函数创建
var obj = new Object();
3. 工厂函数
function createObject(name, age, ...) {
var obj = {};
obj.name = name;
......
}
var obj = createObj('name', ...)
4. 自定义构造函数创建
function createObj(name, age, ...) {
this.name = name;
this.age = age;
......
}
var obj = new createObj('hello', 'world', ...)
PS:对象 是数据类型的一种,以键值对的形式存储数据,因为 __proto__ 和 原型链 可以访问自己没有的属性。
for ... in 遍历对象的可枚举属性(包括它原型链上的所有可枚举属性)
判断数据类型
- typeof 判断不了复杂数据类型
- constructor 判断不了 null 和 undefined
eg. [].constructor //Array()... {}.constructor //Object().. ... - instanceof (isPrototypeOf) 判断不了基本数据类型
- Object.prototype.toString.call(xxx) 什么都能检测
本文介绍了JavaScript中创建对象的四种方式:对象字面量、内置构造函数、工厂函数及自定义构造函数,并解释了对象的数据类型特点及如何正确判断数据类型。





