创建对象
我们可以通过new的方式创建一个对象
var obj = new Object();
也可以通过对象字面量的形式创建一个简单的对象
var obj = {}
工厂模式
工厂模式就是我们提供一个模子,然后通过这个模子复制我们需要的对象。
var createPerson = function(name,age) {
// 声明一个中间对象,该对象为工厂模式的模子
var o = new Object();
//依次添加我们需要的属性与方法
o.name = name;
o.age = age;
return o;
}
//创建两个实例
var perTom = createPerson('Tom',20)
var perJake = createPerson('jake',22)
构造函数
在JavaScript中new关键字可以让一个函数变得与众不同。
function demo(){
console.log(this)
}
demo(); //window
new demo() //demo
使用new之后,函数内部发生了一些变化,让this指向改变。那么new关键字到底做了什么?
使用new来调用函数,或者说发生构造函数调用时,会自动执行下面的操作。
1.创建(或者说构造)一个全新的对象。
2.这个新对象会被执行[[Prototype]]连接。
3.这个新对象会绑定到函数调用的this。
4.如果函数没有返回其他对象,那么new表达式中的函数调用会自动返回这个新对象。