我对javascript有疑问。为了使我的代码有条理,我将函数收集在一个变量中。
var helper = new function(){
this.writeProp = function(){
//write the property
}
this.getProp = function(){
//get property
}
this.updateProp = function(){
//get property
}
}
到目前为止代码工作正常但我可以用helper.getProp()
调用它
现在函数的数量越来越大,所以我想调用这样的函数helper.prop.get()
我怎么能做到这一点?
我的想法如下,但它不起作用。
var helper = new function(){
var prop = new function(){
this.write = function(){
//write the property
}
this.getProp = function(){
//get property
}
this.updateProp = function(){
//get property
}
}
}
这样做的正确方法是什么?或者我不应该尝试以这种方式组织我的代码?
答案 0 :(得分:2)
您可以简单地将prop声明为您的函数的属性。
var helper = new function(){
this.prop = new function(){
this.write = function(){
//write the property
}
this.getProp = function(){
//get property
}
this.updateProp = function(){
//get property
}
}
};
试试这个代码段:
var helper = new function(){
this.prop = new function(){
this.write = function(){
//write the property
}
this.getProp = function(){
//get property
alert("this.getProp");
}
this.updateProp = function(){
//get property
}
}
};
helper.prop.getProp();
答案 1 :(得分:2)
我不明白为什么helper
或 helper.prop
应该是函数。为什么不是对象,比如
var helper = {
prop: {
write: function() { ... },
...
}
};
答案 2 :(得分:1)
JS中的每个函数都返回undefined,除非你明确地返回其他内容,在这种情况下你应该返回prop以保持链接。
答案 3 :(得分:1)
试试这样..
/*************************************************************/
// Modular approach to write javascript.
/*************************************************************/
var foo = (function () {
var publicAPI = {
bar: function () {
publicAPI.baz();
},
baz: function () {
console.log("Baz");
}
};
return publicAPI;
})();
foo.bar();
您可以遵循的另一种方法就是这样。
var outerObj = {};
(function(test) {
'use strict';
test.sayHello = function(name) {
return 'Hi ' + name;
}
})(outerObj);
alert(outerObj.sayHello('Kaushik'));