【发布时间】:2017-01-05 02:39:09
【问题描述】:
我正在创建一个 JavaScript 应用程序,我想在其中生成 ArrayIndexOutOfBound 异常。我创建了一个大小为5 的数组,我正在尝试将斐波那契数列中的元素插入其中。理想情况下,它应该在插入第 6 个元素后抛出异常,但它不会抛出任何异常。请检查代码,让我知道您的意见。
附上代码和输出截图。
<!DOCTYPE html>
<html>
<head>
<title>Error Handling Demo</title>
<script type="text/javascript">
var i = 1;
var fibona = [];
fibona.length=5;
function generateNext()
{
if(i>1)
{
number1.value = number2.value;
number2.value = number3.value;
}
number3.value = parseInt(number1.value) + parseInt(number2.value);
i++;
fibona.push({'num1':number1.value, 'num2':number2.value, 'num3':number3.value});
}
</script>
</head>
<body>
<h1>Fibonacci Series Game</h1>
<p>
Number 1 :
<input type = "number" name = "number1" value = 0 id = "num1">
</p>
<p>
Number 2 :
<input type = "number" name = "number2" value = 1 id = "num2">
</p>
<p>
Next Number :
<input type = "number" name = "number3" id = "num3">
</p>
<p>
<input type = "button" name = "generatenext" value = "Generate Next Number" onclick = "generateNext()">
</p>
</body>
</html>
【问题讨论】:
-
在 JS 中,设置数组的
.length属性并不设置数组可以包含的最大元素数。我不知道有什么方法可以限制元素的数量。 -
@TravisRodman - 不,它只会返回
undefined(如果读取值)或愉快地在该索引处创建元素(如果写入值)。
标签: javascript html arrays error-handling indexoutofboundsexception