【发布时间】:2016-11-25 18:35:35
【问题描述】:
我试图在等于某个输入时停止我的 for 循环,我能够在函数之外实现这一点。例如,假设我将输入变量设置为“不泄漏”,我希望在数组命中“不”时停止循环并将其添加到设置为“泄漏”的关键字变量以输出“不泄漏”。但是,当我尝试将循环插入函数时,它会按预期停止工作并给出每个结果,直到输入变量等于文本变量(我不希望它这样做)。例如,它会输出“不泄漏”、“不泄漏”,当我只想输出“不泄漏”时,它就会停止。
我尝试过函数的各种格式,例如将函数设置为变量,给函数参数,以及将变量放在函数内部和外部零进度。似乎 break if 语句在插入函数后无法按预期工作。知道为什么以及如何解决这个问题吗?
下面是它在函数内部的样子。
function negKeyword() {
var keyword = 'leak';
var input = 'not leak';
var text = '';
var arr = ['no', 'not', 'checked', ''];
for (i = 0; i < arr.length; i++) {
if (text == input) { break; }
text = arr[i] + ' ' + keyword;
console.log(text);
}
}
negKeyword();
下面是它在函数之外的样子
var keyword = 'leak';
var input = 'no leak';
var text = "";
var arr = ['no', 'not', 'checked', ''];
for (i = 0; i < arr.length; i++) {
if (text===input) {break;}
text = arr[i] + ' ' + keyword;
}
console.log(text);
【问题讨论】:
-
它在任何函数的内部和外部做完全相同的事情。你只是在不同的地方有
console.log。也许你应该正确缩进你的代码,这样你才能看到。
标签: javascript loops for-loop