Javascript对象就像函数一样

时间:2016-04-14 17:13:15

标签: javascript dexie

为什么我无法访问此对象的“内部”功能?我觉得这之前有用过。

var OfflineStorage = (function () {

    function OfflineStorage() {
        var db = new Dexie("OfflineStorage");
        db.version(1).stores({
            articles: "ArtNo,Description,Unit"
        });
    }

    function getArticlesByArtNo(params) {
        var regex = new RegExp(params.search, "i");

        return db.articles
            .filter(function (article) { regex.test(article.ArtNo) })
            .toArray();
    }

    return OfflineStorage;

})();

当我尝试像这样访问此对象时,我收到错误。

var offlinestorage = new OfflineStorage();
offlinestorage.getArticlesByArtNo(); <-- This throws an error 'is not a function'

1 个答案:

答案 0 :(得分:-1)

你必须从外面返回你想要访问的功能:

return {OfflineStorage:OfflineStorage, getArticlesByArtNo:getArticlesByArtNo};