Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 初始化工厂方法_Javascript_Design Patterns_Constructor - Fatal编程技术网

Javascript 初始化工厂方法

Javascript 初始化工厂方法,javascript,design-patterns,constructor,Javascript,Design Patterns,Constructor,“我的对象创建”的片段: object = function () { var private = 'Yes.'; var pub = { sayHello: function () { return isThisRealLife(); } } function isThisRealLife() { return private + ' ' + 'Hello world!'; } return pub; } 初始化此项的最佳解决

“我的对象创建”的片段:

object = function ()
{
  var private = 'Yes.';

  var pub = {
    sayHello: function () {
      return isThisRealLife();
    }
  }

  function isThisRealLife() {
    return private + ' ' + 'Hello world!';
  }

  return pub;
}
初始化此项的最佳解决方案(容易发生小错误)是什么? 你的方式是什么?为什么

理想:

  • pub
    ->
    object().init('foobar')
    中创建一个init方法
  • object=function(myVar)
    ->
    object('foobar')
  • 使用init方法使对象成为IIFE->
    object.init('foobar')

最简单的解决方案总是最不容易出错的。你到底需要什么?您是否已经在当前代码中初始化了对象?如果您能提供实际的代码和实际的用例,可能会有所帮助。@Bergi我正在决定初始化的方式。有多种方法,我正在寻找一个标准。你会用哪一个?为什么?正如我说的,用最简单的。你已经有了一个函数。不,您想向它传递参数。所以给它一个参数!不需要更改任何其他内容。最简单的解决方案总是最不容易出错的。你到底需要什么?您是否已经在当前代码中初始化了对象?如果您能提供实际的代码和实际的用例,可能会有所帮助。@Bergi我正在决定初始化的方式。有多种方法,我正在寻找一个标准。你会用哪一个?为什么?正如我说的,用最简单的。你已经有了一个函数。不,您想向它传递参数。所以给它一个参数!不需要改变任何其他东西。