我有以下代码:
function foo(){
this.bar = {
images: function() {
this.example = "string";
this.anotherFoo = true;
(...)
this.getBigPicturePositions = function(){};
return this;
},
search: function(){
this.thing = "string";
this.anotherBar = false;
(...)
this.newAjaxSearch = function(){};
return this;
}
}
}
然后,我有这个声明:
var foo = new foo();
foo.start({
bar: {
images: {
getBigPicturePositions: true
},
search: {
newAjaxSearch: true,
idontexist: true
}
}
});
我怎样才能制作这样一个启动指定方法的函数?当我需要时,我需要这个来启动特定的方法(当然如果它们存在的话)。在我的例子中,我需要得到类似的东西:
foo.bar.images().getBigPicturePositions();
foo.bar.search().newAjaxSearch();
感谢您的帮助!我是 javascript 对象的新手。
更新:CrazyTrain提供的解决方案解决了这个问题,但我也更新了我的代码。要查看结果,请检查这个Fiddle