【问题标题】:What exactly is JavaScript factory functions?JavaScript 工厂函数到底是什么?
【发布时间】:2020-05-31 12:27:24
【问题描述】:

JavaScript 中的 factoryfunctions 到底是什么?它解决了什么问题?什么是实时示例?

【问题讨论】:

标签: javascript function factory


【解决方案1】:

工厂函数是构建对象并返回它的普通函数。例如,我们可以这样创建一个人界面/类:

function createPerson(name,age)
{
   let per  = new Object();
   per.name = name;
   per.age  = age;
   per.sayName() = function(){
                      return this.name;
                      };
  return per;
}

使用这个工厂函数模式,你可以用这种方式创建一个新的 person 实例:

let myNewPerson = createPerson("Nick",20);

这种模式的主要问题是函数属性不在原型树上,因此为每个函数属性创建了一个新对象(匿名函数是一个对象,Function 的一个实例)。此外,这种模式并没有解决对象识别的问题,即无法说出一个对象是什么类型的对象。

【讨论】:

  • 我们在哪里可以使用工厂函数?什么是实时示例?你能帮我解决这个问题吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-06-11
  • 1970-01-01
  • 2013-05-11
  • 2016-06-26
  • 1970-01-01
  • 1970-01-01
  • 2018-01-01
相关资源
最近更新 更多