执行以下程序,当用户在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 ,不会报错,也不会终止程序执行。