gpt4 book ai didi

javascript - 测验,他们的答案错了吗?

转载 作者:行者123 更新时间:2023-12-03 20:54:54 29 4
gpt4 key购买 nike

我在考试中遇到了这个问题。

以下不正确 javascript 代码的输出是什么?错误是什么?

num=0;
if (num > 10);
{
num = num + 10;
}
alert(num);

可能的答案:

a) 输出 10. if 语句末尾不应有分号(;) if(num > 10)

b) 输出 0 警报语句 alert("num");

中的 num 不应有引号

c) 输出 10. if 语句末尾不应该有分号(;) if (num > 10)

d) 根本不执行。计算 num = num + 10; 时出错。数 == 数 + 10;

我的答案是:

它不会执行,但如果我们删除 if 语句后的分号,并添加 var 它会执行。输出将为零。

这是因为 num 不大于 10,因此 if 语句 不执行任何操作。 num 仍然 = 0。

IF 语句 后不应有分号。 var 应该用在 num 变量的前面。

他们的答案是 a)。输出将是 10,并且 if 语句 之后不应有分号。

语句不成立,但如果我们整理它,答案仍然不会是 10。

问题是否写得不好?是他们错了,还是我错了?

最佳答案

if 条件后的分号不是语法错误,不幸的是 - 它只是意味着 if 条件的结果不是使用,因为如果它为真,则不会运行任何语句。

紧随其后的 { 是有效语法,尽管与 if 断开连接 - 它是一个裸 block 。裸 block 也是有效的,但很奇怪 - 它们大部分只是创建一个新范围,其中声明的 constlet 变量不会泄漏出.

num=0;
if (num > 10);
{
num = num + 10;
}
alert(num);

查看“运行代码片段”如何弹出 10。

测验是正确的。

关于javascript - 测验,他们的答案错了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60861600/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com