虽然在绝大多数编程语言中,0是不能作为分母,但在js中,0是可以作分母的,0/0的结果为NaN,并不会抛出异常

发布时间 2023-11-11 01:06:48作者: 龙陌

执行以下程序,当用户在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 b d

当用户输入0时,会导致分母为0。

虽然在绝大多数编程语言中,0是不能作为分母,但在js中,0是可以作分母的,0/0的结果为NaN,并不会抛出异常,

因此会执行try块中所有代码,输出a b,并且由于没有异常的发生不会执行catch块,不管有没有异常,finally块都会执行的,因此最终输出结果为a b d

在JavaScript 中,任何非零数除以零会返回infinite,0/0会返回出 NaN ,不会报错,也不会终止程序执行。