为什么我会得到错误“;未捕获的类型错误:st.replace不是函数;
Why am I getting the error "Uncaught TypeError: st.replace is not a function"
我试图构建一个投资组合。我不是javascript专家,也不知道该删除什么,或者是哪里出了问题。页面运行良好,但一旦我尝试转到主页,退出速度非常慢,控制台会抛出一个错误。
"未捕获类型错误: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似乎有几个值:
"st=/-([''da-z])/gi,"
和
"st=":("+rt+"
和
"St=["顶部","右侧","底部","左侧"],"
但最后一个有一个大写字母S。请把这个答案复制粘贴,以便读得更清楚。如果我需要解释更多,请告诉我。
您的问题似乎是st
不是字符串。在函数顶部添加一条验证行,以确保参数的类型为所需类型。
if (typeof st !== 'string') {
// HANDLE IT HERE (throw an error, return false/null, whatever you need
}
相关文章:
- Node.js v6.2.0类扩展不是函数错误
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- document.open/document.write没有正确地清除chrome中的文档——这是chrome的错误吗
- 试图在引导模式内动态生成图表,得到offsetWidth错误
- 为什么会出现错误;未捕获的类型错误:undefined不是函数;
- 我如何修复包含在captcha的addthis中的错误
- 同样,同样的错误'ahorcado.js:26未捕获类型错误:无法读取属性'beginPath'
- 节点是否需要模块传递带有方括号的arg?这是个错误吗
- Webpack/Rect:遵循egghead.io教程,但出现错误:您可能需要一个合适的加载程序来处理此文件类型
- CKFinder 3为所选文件返回错误的URL
- 同位素库错误:未捕获错误无布局模式包装生产线8
- 铬:“;未捕获的语法错误:意外的标记:"
- 如何通过自己获得Chrome扩展的用户反馈/错误报告
- 相位器状态未捕获参考错误
- /undefined在我的404错误日志中多次出现
- Javascript未捕获语法错误意外的标识符错误
- javascript:如何在antlr生成的Lexer中进行错误处理
- Angularjs工厂注入错误
- 为什么我会得到错误“;未捕获的类型错误:st.replace不是函数;
- 为什么错误st.data不是jquery中的函数