工厂方式创建对象
使用工厂方法 , 创建对象
通过该方法可以大批量的创建对象
<script>
function createPerson(name, age, gender) {
//创建一个新对象
var obj = new Object();
//向对象中添加属性
obj.name = name;
obj.age = age;
obj.gender = gender;
obj.sayName = function () {
alert(this.name);
}
// 将新对象返回
return obj;
}
var obj1 = createPerson("TOM", 16, "男");
var obj2 = createPerson("JIM", 18, "女");
obj1.sayName();
//TOM
</script>
但 是
构造函数
- 没有Person类型,可以创建一个构造函数,用来创建Person对象
- 构造函数就是普通函数,创建方式和普通函数没有区别,习惯上首字母大写
- 普通函数直接调用,构造函数使用new关键字调用
- 构造函数执行流程:
----------------1.立即创建一个新的对象,一出现new就会在堆内存开辟空间
----------------2.将新建的对象设置为函数中 this(重要)(this==新建对象)
----------------3.逐行执行函数中的代码
----------------4.将新的对象作为返回值返回 - 使用一个构造函数创建的对象,我们成为一类对象,也将一个构造函数成为一个类
-----------------构造函数创建的对象成为该类的实例,或该构造函数的实例
使用构造函数创建对象
instanceof 函数