为什么会出现这个错误 - “TypeError:...不是构造函数”

时间:2015-02-21 02:17:13

标签: javascript jquery

我希望创建一个命名空间“SK3”。我还希望创建一个构造函数“SK3.lib.f.Strext”,它通过原型添加某些功能。 SK3.lib.f.Strext代码未内联,但是附加在单独的文件中。

以下方法无效吗? 我得到“TypeError:SK3.lib.f.Strext不是构造函数”

if (typeof SK3 == "undefined") {
            SK3 = {};
            SK3.v = {};//variables
            SK3.e = {};//events
            SK3.f = {};//functions
            SK3.lib = {};
            SK3.lib.v = {};
            SK3.lib.e = {};
            SK3.lib.f = {};
        }

SK3.lib.f.Strext = (function () {
    var me = SK3.lib.f.Strext;
    var buffer = me.buffer = [];
    me.prototype.append = function (a) {
        buffer.push(a);
        return true
    };
    me.prototype.trim = function () {
        buffer.replace(/^\s+|\s{2,}|\s+$/g, "");
        buffer.replace(/[\r\n]+/g, "");
        return true
    };
    me.prototype.stripSlash = function () {
        buffer.replace(/\\+/g, "");
        return true
    };
    me.prototype.toString = function () {
        return buffer.join("");
    };
    return me;
})();

var thumbs = new SK3.lib.f.Strext();

1 个答案:

答案 0 :(得分:1)

如何编写,SK3.lib.f.Strext不是构造函数。这是一种自我执行的方法。尝试删除整个函数周围的(),以及执行该方法的构造函数中的()的结束集。