我无法弄清楚以下原因为何无法解决:

我的自定义JS库

(function ($, undefined) {

var expenses = expenses || {};

expenses.report = function () {

    var deleteReport = function () {
        alert('test');
    };

    return {
        deleteReport: deleteReport
    };
};

window.expenses = expenses;

})(jQuery);

我在页面上如何称呼它:
$(function() { expenses.report.deleteReport() };

错误:
Uncaught TypeError: Object function () {



        var deleteReport = function () {

            alert('test');

        };



        return {

            deleteReport: deleteReport

        };

    } has no method 'deleteReport'

我仍然很熟悉javascript和jquery,所以我确定设计中有一些简单的东西要忽略。我只是不知道那是什么。

最佳答案

expenses.report

是一个功能。
expenses.report()

是该函数的返回值,这是您在此处定义的对象:
{
    deleteReport: deleteReport
};

因此,如果要调用deleteReport,则需要执行以下操作:
expenses.report().deleteReport()

关于javascript - Javascript自定义库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8014944/

10-09 15:03