我见过的任何javascript构建器模式都分两步构建所需的对象:
var foo = new Foo()
var desiredfoo = foo.func1("something").func2("something");
有没有办法像java一样使用它,即不破坏线条?
var desiredfoo = new Foo().func1("something").func2("something");
答案 0 :(得分:2)
如果func1
和func2
都返回this
,则您的两个示例相同。
虽然您可以将对象文字用于默认值,但构建器模式对于JavaScript可能过度。例如new Foo({value1: 9, value2: "hello"})
并让你的构造函数处理这些。