我正在使用OOP javascript方法(如果我错了请纠正我),在所有网站和javascript文件中使用js自定义函数。
有一个主要的
template.js
文件,我存储了我需要的所有js函数:
var template = function(){
/*** ******************** ***/
/*** 1.1 MAIN INIT METHOD ***/
function _init(){
__initTooltip();
}
/*** ********************* ***/
/*** 1.2 PRIVATE FUNCTIONS ***/
// some functions before
function __capitalize(string){
return string.charAt(0).toUpperCase() + string.slice(1).toLowerCase();
}
/*** ************************************************** ***/
/*** 1.3 MAKE PRIVATE FUNCTIONS ACCESSIBLE FROM OUTSIDE ***/
return {
init:function(){
_init();
},
capitalize:function(string){
__capitalize(string);
}
};
}();
$(document).ready(function(){
template.init();
});
因此,如果我需要调用
__capitalize()
函数,可以通过 firebug/chrome 控制台访问它,如下所示:template.capitalize('some Text');
它应该返回我
Some text
而不是undefined
财产......我在这里做错了什么?有人注意到我在这里错过了什么吗?
您没有从
capitalize
方法返回任何内容。
您需要从
capitalize
返回大写值(由__capitalize
返回)
capitalize:function(string){
return __capitalize(string);
}