前言
把大量的重复性的代码统一放到一个方法或者函数里, 直接调用函数创建对象.
一、示例
<script type="text/javascript">
// 工厂方法
function createObj(name){
// 创建一个新对象
var obj = new Object();
// 给对象赋值
obj.name = name;
// 将新对象返回
return obj
}
var obj2 = createObj("swk");
console.log(obj2.name)
</script>
使用工厂方法创建的对象, 使用的构造函数都是object
一、创建一个构造函数
构造函数就是一个普通函数, 创建方式和普通函数一样
不同的是构造函数习惯上首字母大写
<script type="text/javascript">
function Person(){
}
var per = new Person()
</script>
1.调用
构造函数和普通函数的区别就是调用方式不同
普通函数是直接调用.
<script type="text/javascript">
function Person(){
}
var per = new Person();
console.log(per); // Person
</script>
2. 构造函数的执行流程
- 立刻创建一个新的对象
- 将新建的对象设置为函数中this, 在构造函数中可以使用this来引用新建的对象
- 逐行执行函数的代码
- 将新建的对象作为返回值返回
<script type="text/javascript">
function Person(){
this.name = "swk"
}
var per = new Person();
console.log(per.name); // swk
</script>
3. 使用instanceof可以检查一个对象是否是一个类的实例
- 语法 :
对象 instanceof 构造函数
<script type="text/javascript">
function Person(){
this.name = "swk"
}
var per = new Person();
console.log(per instanceof Person); // true
</script>
所有的对象都是Object的后代