为什么从另一个 javascript 文件调用 javascript 函数时会得到未定义的属性?

问题描述 投票:0回答:1

我正在使用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
财产......我在这里做错了什么?有人注意到我在这里错过了什么吗?

javascript jquery
1个回答
3
投票

您没有从

capitalize
方法返回任何内容。

您需要从

capitalize
返回大写值(由
__capitalize
返回)

    capitalize:function(string){
        return __capitalize(string);
    }
© www.soinside.com 2019 - 2024. All rights reserved.