本文介绍了上次迭代时出现JavaScript未定义错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
循环此字符串时,警报会(正确)打印TEST 4次,但随后还会在末尾打印"UNDEFINED"。如何使其不返回未定义。
这将返回-unfinedCAFE::
alert(match("abcdef", "CAfe"));
function match(string, pattern) {
var patternUpperCase = pattern.toUpperCase();
var stringUpperCase = string.toUpperCase();
var stringConcatenate;
var answer;
for (var i = 0; i < patternUpperCase.length; i++) {
if (patternUpperCase.charAt(i) != undefined) {
if (patternUpperCase.charAt(i) >= 'A' && patternUpperCase.charAt(i) <= 'Z') {
stringConcatenate += patternUpperCase.charAt(i);
alert("test");
}
}
}
return stringConcatenate;
}
推荐答案
match
函数没有Return语句,因此它返回undefined
。这意味着
alert(match("abcdef","CAfe"));
将始终至少显示一次"未定义"的警报。若要不显示警报,请调用函数而不使用alert
:match("abcdef","CAfe");
或者,您也可以使函数返回一些内容,如stringConcatenate
,否则将无缘无故地进行计算。
这篇关于上次迭代时出现JavaScript未定义错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!