构造函数和工厂函数

2020-08-15  本文已影响0人  青乌

区分工厂函数和构造函数。

工厂函数

function people(name,sex){
  let obj = new Object();
  obj.name = name;
  obj.sex = sex;
  obj.saySex=fuction(){
     alert(`${this.name}的性别是${this.sex}`)
  }
  return obj;
}

let people1 = people('小明', '男')
let people2 = people('小颖', '女')

构造函数

function people(name,sex){
  this.name = name;
  this.sex = sex;
  this.saySex=fuction(){
     alert(`${this.name}的性别是${this.sex}`)
  }
}

let people1 = new people('小明', '男')
let people2 = new people('小颖', '女')

console.log(people1 instanceof people) //true
console.log(people2 instanceof people) //true

两者书写上的不同:

含义上的区别:

构造函数为之后应用的所有对象都挂上了属性,有了属性就做了分类,就不仅仅只是对象了。就可以创造更多分类,人、动物等等的不同类。这也是构造函数最大的优势。

上一篇 下一篇

猜你喜欢

热点阅读