这次我没有任何问题,只是为了好奇,我想知道JavaScript中有多少例外。JavaScript例外列表
比如我使用下面的代码:
<script type="text/javascript">
var x;
try{
x = 1/0;
alert(x); // output: Infinity. FYI: JavaScript has Infinity property and it's value is 1.7976931348623157E+10308
alert(funCreate());
}
catch(obj)
{
alert(obj.fileName);
alert(obj.lineNumber);
alert(obj.message); // output: funCreate is not defined
alert(obj.name); // output: ReferenceError
alert(obj.stack);
};
</script>
这里的ReferenceError就像是一个异常的类型。所以如果它被视为一个异常类型,那么我们可以通过类型来处理异常吗?就像我们大家都用其他编程语言一样。见link。
谢谢...
Infinity是无限的,它是*不是* 1.7976931348623157E + 308 – kennytm 2010-09-07 08:10:15
@KennyTM - 试试这个:'alert(1.7976931348623157e + 309)'。这应该不会令人惊讶。你如何在双精度浮点数中表示实际的无穷大?那么,你不能。当你用尽点数来表示数字时,你会发现什么?就JS而言,任何超出1.7976931348623157e + 308的值都是'Infinity'。 JS不应该是数值精度的首选。 – Andrew 2010-09-07 09:33:24
是,当数字超过浮点数的上限时显示无穷大,即1.7976931348623157E + 10308。 – Vikas 2010-09-07 09:51:47