上次迭代时出现JavaScript未定义错误

本教程将介绍上次迭代时出现JavaScript未定义错误的处理方法,这篇教程是从别的地方看到的,然后加了一些国外程序员的疑问与解答,希望能对你有所帮助,好了,下面开始学习吧。

上次迭代时出现JavaScript未定义错误 教程 第1张

问题描述

循环此字符串时,警报会(正确)打印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未定义错误的教程就到这里就结束了,希望趣模板源码网找到的这篇技术文章能帮助到大家,更多技术教程可以在站内搜索。