![]() |
1
18
你的
改写为:
(添加括号) |
![]() |
2
15
这是一个优先问题。你的声明:
应评估为:
但实际评估为:
最后一个表达式将始终为真,因为
你在第一次测试中没有问题的原因是你正在评估
顺便说一句,我喜欢人们似乎认为他们在一个被数不清的数百万人使用的软件中发现了一个错误的方式,而不是考虑他们可能做错了什么的极小可能性。 虽然说实话,我在许多人使用的一个产品中发现了错误(如果我记得正确的话,是一个Microsoft COBOL编译器),但这是由于有签名/未签名的问题,我有一台最早的内存超过512K的机器(在这里,启动代码检查以确保您有足够的内存,它将640K视为负数)。 不过,在四分之一个世纪里发现的一个bug非常低,所以你不应该认为软件马上就出了故障。我的第一个想法总是不知何故地被塞住(我通常是对的,这让我很懊恼)。 |
![]() |
3
1
因为没人回答
需要一对额外的
|
![]() |
4
1
这两个写行写入不同结果的原因是逻辑中存在一个微妙的错误。 (优先规则与您期望的不同,如其他地方所述) 线:
计算element.innerhtml是否与空值不同,其中作为行:
评估“answer is:”+element.innerhtml是否不同于空值(它永远不会是空值),因此结果始终为element.innerhtml(并且文本“answer is”被视为布尔表达式的一部分,因此不会打印出来)。 |