要停止函数的执行,请使用
return
break
只有在
for
while
循环。
validationTest
没有
持久的
count
变量-它完全是局部的,所以测试无论如何都不起作用。请考虑传递一个参数,该参数将指示当前调用是否递归:
validationTest(lastTry = false) {
this.isAnyRangeInvalid = false;
this.monthpicker.forEach(picker => {
if (picker.isValidRange === false) {
this.isAnyRangeInvalid = true;
}
});
if (!lastTry) this.validationTest(true);
}
确保
验证测试
不传递参数,或传递
false
.
validationTest(triesLeft = 3) {
this.isAnyRangeInvalid = false;
this.monthpicker.forEach(picker => {
if (picker.isValidRange === false) {
this.isAnyRangeInvalid = true;
}
});
if (triesLeft !== 0) this.validationTest(triesLeft - 1);
}