1. 使用关键字new Object()
2. 使用字面量直接创建 var obj = {name:'xxx',age:18}
3. 使用工厂方法创建对象 (大批量创建相似对象):
- 使用的构造函数都是Object,导致无法区分多种不同类型的对象
function createPerson(name,age){
var obj = new Object();
obj.name = name;
obj.age = age
obj.sayName = function(){
this.name;
}
return obj;
}
4. 使用构造函数创建对象:
/**
* 创建一个构造函数,专门用来创建Person对象
*/
function Person(name,age){
this.name = name;
this.age = age
this.sayName = function(){
this.name;
}
}
-
构造函数就是一个普通的函数,创建方式和普通函数没有区别
* 不同的是构造函数习惯上首字母大写
-
构造函数和普通函数的区别就是调用方式的不同
* 普通函数是直接调用,而构造函数需要new关键字来调用
-
构造函数的执行流程:
* 1.立刻创建一个新的对象(在堆内存中)
* 2.将新建的对象设置为函数中this,在构造函数中可以使用this来引用新建的对象
* 3.逐行执行函数中的代码
* 4.将新建的对象作为返回值返回
使用instanceof可以检查一个对象是否是一个类的实例。语法:对象名 instanceof 构造函数名。