尝试/ catch块不能按预期使用变量数组

时间:2015-03-26 13:00:40

标签: javascript arrays variables try-catch

我有一个使用3个变量和try catch的函数。我想使用3个变量作为数组的一部分,但如果我这样做,我无法完成try catch并正确运行

JS:

function calculateVolume() {

    length = document.getElementById("Length").value;
    width = document.getElementById("Width").value;
    height = document.getElementById("Height").value;
    try {
        if ((length > 1000) || (width > 1000) || (height > 1000))
            throw "err"
        else
            var volume = length * width * height;
        alert(volume);
    } catch (err) {
        alert("You have not entered all three dimensions correctly");
    }
}

1 个答案:

答案 0 :(得分:0)

如果我正确地阅读了您的问题,您希望数组中有lengthwidthheight,并且您希望条件检查其相关值。

您可以使用some,如:

arr.some(function (el) { return el > 1000; });

此示例会引发错误:

var a = 1000,
    b = 1000,
    c = 2000;

var arr = [a, b, c];

try {
    if (arr.some(function (el) { return el > 1000; })) {
        throw "err"
    } else {
        console.log('no error')
    }
} catch (err) {
    console.log("You have not entered all three dimensions correctly");
}

DEMO