java script if/else 和 c++ if/else 之间有什么区别吗?



我想知道js中的if/else语句是否与c ++不同或相同。我用 c++ 工作过,if/else 条件工作为自动中断,如果一个条件为真,另一个条件不起作用,但在 js 中,条件一次又一次地打印

var A = ["cake","apple pie","cookie","chips","patties"];
var search=prompt("Welcome to ABC Bakery.What do you want to order Sir/Ma'm");
var size=A.length;
for(var i=0;i<=size;i++)
{
if(search===A[i])
{
alert(search+" is available at index "+(i+1)+" of our bakery");
check=true;
break;
}
else
{
alert("We are sorry "+search  +" is not available in our bakery");
}
}

C++和JS在食物中有着非常不同的口味,这就是为什么你可能会在if/else语句中遇到奇怪。我发现C++倾向于坚持面包、鸡蛋和牡蛎等主食,而 js 更喜欢杏仁酱等更具异国情调的食物。

不过,就你而言,我不相信食物与你所看到的问题有任何关系。break关键字在两种语言中的功能相似。在不知道你要求什么食物的情况下,我不可能知道你所看到的和你期望的,但我的猜测是,当你输入一种存在于A但不是第一种食物的食物时(在这种情况下是蛋糕,除了特殊场合,你应该避免,但我不是有执照的营养师,所以用一点盐来对待(, 然后你会看到一些"我们很抱歉......"消息后跟"...可用..."消息。这是因为您正在循环访问A的元素,并且每次都触发else语句,直到if语句最终为真并且您的break被触发。

相反,你想要的是检查食物是否真的在商店里,在这种情况下,获取它的索引。否则,我建议您向您的分销商下订单,因为听起来您的客户真的很吵着要它,而且您不希望手上发生骚乱。我想我们都从 2020 年 4 月的卫生纸惨败中学到了这一点。作为一个美食家,这是我会做的,而不是你的循环。

var index = A.indexOf(search);
if (index > -1) {
alert(search+" is available at index "+(index+1)+" of our bakery");
check=true;
}
else {
alert("We are sorry "+search  +" is not available in our bakery");
}

最新更新