繁体   English   中英

为什么出现此错误-“ TypeError:…不是构造函数”

[英]Why this error - “TypeError: … is not a constructor”

我希望创建一个命名空间“ 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(); 

按照您的书写方式,SK3.lib.f.Strext不是构造函数。 这是一种自我执行的方法。 尝试删除整个函数周围的(),以及执行该方法的此构造函数中()的闭包。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM