我试图建立一个投资组合。我不是一个JavaScript专家,我不知道要删除什么,或者有什么问题。页面工作正常,但一旦我尝试进入主页,退出非常慢,控制台抛出错误。
"未捕获的TypeError:st.replace不是函数"
下面的代码段是有问题的部分,只要我点击主页按钮离开“服务”,就会出现错误。页。
感谢您对代码段中不正确的任何说明表示感谢,谢谢。
htmlDoc: function(st) {
var n, i = e(),
r = /<(\/?)(html|head|body|title|base|meta)(\s+[^>]*)?>/gi,
o = "ss" + Math.round(1e5 * Math.random()),
a = st.replace(r, function(t, n, r, a) {
var s = {};
return n || (e.merge(i, e("<" + r + "/>")), a && e.each(e("<div" + a + "/>")[0].attributes, function(e, t) {
s[t.name] = t.value
}), i.eq(-1).attr(s)), "<" + n + "div" + (n ? "" : ' id="' + o + (i.length - 1) + '"') + ">"
});
return i.length ? (n || (n = e("<div/>")), n.html(a), e.each(i, function(e) {
var t = n.find("#" + o + e).before(i[e]);
i.eq(e).html(t.contents()), t.remove()
}), n.children().unwrap()) : e(t)
},
编辑FelixKling
谢谢,@ FelixKling似乎有几个值:
&#34; st = / - ([\ _d-z])/ gi,&#34;
和
&#34; st =&#34; :(&#34; + rt +&#34;)(?:((&#39;((?:\\。| [^ \\&#39;]))&#39; | \&#34;((?:\\ | [^ \\\&#34;]))\&#34;)|((:\\?。 | [^ \()[]] |&#34; + at +&#34;))|。))|)&#34;,&#34;
和
&#34; St = [&#34; Top&#34;,&#34; Right&#34;,&#34; Bottom&#34;,&#34; Left&#34;],&#34;
但是最后一个有大写字母S.请复制粘贴这个答案,以便更清楚地阅读。如果我需要解释一些,请告诉我。
答案 0 :(得分:0)
您的问题似乎是st
不是字符串。在函数顶部添加一个验证行,以确保参数属于预期类型。
if (typeof st !== 'string') {
// HANDLE IT HERE (throw an error, return false/null, whatever you need
}