首页 > 试题广场 >

执行以下程序,当用户在prompt输入框中输入0时,输出结果

[单选题]

执行以下程序,当用户在prompt输入框中输入0时,输出结果为()

var num = prompt('请输入分母:')
try{
  console.log('a');
  value = 0 / num;
  console.log('b');
}
catch(e){
  console.log('c');
}
finally{
  console.log('d');
}

  • a c d

  • a b d

  • a b c d

  • a b c

在JavaScript 中,任何非零数除以零会返回infinite,0/0会返回出 NaN ,不会报错,也不会终止程序执行。
发表于 2021-12-12 19:15:58 回复(2)

考察了js中0/0不会终止程序和异常错误处理 try...catch ,finally

任何数值除以0都会导致错误而终止程序执行,但是在 JavaScript 中,会返回出NaN,不影响后面程序

value = 0 / num; num = 0;
//value = NaN,
//并不会报错,因此走完try,而不会走进catch
//finally无论是否出现异常都会在最后执行
  • try...catch 用来捕获try{}代码段中可能会发生的异常,catch子句包含try块中抛出异常时要执行的语句。

  • 如果在try块中有任何一个语句(或者从try块中调用的函数)抛出异常,控制立即转向catch子句。如果在try块中没有异常抛出,会跳过catch子句。

  • finally子句在try块和catch块之后执但是在下一个try声明之前执行。无论是否有异常抛出或捕获它总是执行。

发表于 2021-12-10 17:09:18 回复(0)
我......js就**逆天啊,真服了
编辑于 2023-04-20 11:08:30 回复(1)
虽然在绝大多数编程语言中,0是不能作为分母,但在js中,0是可以作分母的,0/0的结果为NaN,并不会抛出异常。js中非0除以0infinite,0/0为NaN
发表于 2022-08-20 08:30:56 回复(0)
Js中分母可以为o
发表于 2023-11-08 08:04:24 回复(0)
在Js中0/0会返回NaN 不会触发catch
发表于 2022-06-23 11:06:10 回复(0)
value不用声明?
发表于 2022-05-27 18:23:51 回复(2)