我有一个用如下所示的多个参数构造的对象:
var foo = myFunc(arg1).a(arg2).b(arg3)
我希望能够返回函数对象或只是一个缩放器,具体取决于函数的调用方式。
var foo = myFunc(arg1).a(arg2).b(arg3) // return an object
var bar = myFunc(arg1) // return a scaler value
这是我的功能:
var myFunc = function(value) {
var a, b
f = function(value) { return value }
f.a = function(fn) {
a = fn(value)
return this;
}
f.b = function(fn) {
b = fn(value)
return this;
}
return f
}
var foo = myFunc(10)
.a(function(d) { return d * 10 })
.b(function(d) { return d * 100 })
// returns 10
foo.a(function(d) { console.log(d) })
// returns: { [Function] a: [Function], b: [Function] }
console.log(myFunc(10)) // <<< how can i make this return 10?
我希望在没有方法的情况下调用我的函数返回10,并在使用方法调用时返回一个对象。我怎么能这样做?