所谓工厂函数,就是指这些内建函数都是类对象,当你调用他们时,实际上是创建了一个“类实例”。
我们首先通过new关键字创建了一个对象,obj就相当于Object的实例。我们通过类实例化了一个对象,然后给这个对象相应的属性,最后返回对象。我们可以通过调用这个函数来创建对象,这样的话,实际上工厂函数也很好理解了:
1,它是一个函数。
2,它用来创建对象。
3,它像工厂一样,“生产”出来的函数都是“标准件”(拥有同样的属性)
JavaScript项目有一个趋势,变得难以测试和重构,因为我们经常鼓励使用复杂的抽象层。原型和类实现一个简单的想法使用复杂和不人性的工具,如 new 和 this ,即使现在,这仍然引起各种各样的困惑,几年后他们被添加到语言。
由于js类的定义方法和函数的定义方法一样,所以定义类的同时就定义了构造方法。
function Person(name,sex){ // 类,同时定义构造方法
this.eat=function(){ // 类中的方法
alert("eating")
}
this.name = name// 类中的属性
this.sex = sex
}