我希望创建一个命名空间“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();
答案 0 :(得分:1)
如何编写,SK3.lib.f.Strext不是构造函数。这是一种自我执行的方法。尝试删除整个函数周围的(),以及执行该方法的构造函数中的()的结束集。