Javascript 为什么我的for循环有时会执行两次,尽管我使用了break语句?
在下面的代码中,for循环中的第一个if语句有时会触发两次。它记录两次“hello”,发送两次相同的短信,尽管有break语句。值得注意的是,这种情况只发生在30%左右的时间里。感谢您的帮助Javascript 为什么我的for循环有时会执行两次,尽管我使用了break语句?,javascript,node.js,for-loop,break,Javascript,Node.js,For Loop,Break,在下面的代码中,for循环中的第一个if语句有时会触发两次。它记录两次“hello”,发送两次相同的短信,尽管有break语句。值得注意的是,这种情况只发生在30%左右的时间里。感谢您的帮助 for (let indexS = prisData.length - 1; -1 < indexS; indexS--) { if (prisData[indexS].købt === true && prisData[indexS].købtFor < køb
for (let indexS = prisData.length - 1; -1 < indexS; indexS--) {
if (prisData[indexS].købt === true && prisData[indexS].købtFor < købsPrisNu - netto) {
solgtFor = købsPrisNu
solgt = true
console.log("hello");
nexmo.message.sendSms(from, to, 'Sælg wirtek til ' + solgtFor, {type : 'text'},(err, data) => {if (err != null) {console.log(err)}})
break
}
if (prisData[indexS].solgt === true) {
break
}
}
for(让indexS=prisData.length-1;-1{if(err!=null){console.log(err)})
打破
}
if(prisData[indexS].solgt==true){
打破
}
}
让我为您简化此代码:
function foo()
{
for ([...]) {
if (...) {
[...]
console.log("hello");
sendSms();
break
}
[...]
}
}
无论[…]部分中有什么内容,一次调用foo()都不能调用console.log(“hello”)
语句两次
log语句被多次执行的唯一合理的可能性是函数被多次调用,或者函数本身被调用(例如,sendSms()直接或间接调用foo()。将
console.log(“for循环启动”)
放在for
行的前面。看来唯一能打印两次hello的方法是让for循环执行两次。你能共享几个变量的值吗。很难复制