Javascript优化if语句

时间:2016-01-21 14:06:01

标签: javascript

有没有办法压缩此var btn = document.getElementById('btn'); btn.onclick = function() { var bnr = document.getElementById("bnr"); if (bnr.style.height === "250px") { bnr.style.height = "600px"; } else { bnr.style.height = "250px"; } }; 语句?

if

2 个答案:

答案 0 :(得分:2)

你不能真正“压缩”代码,但你可以使它更具可读性。

您正在检查相同条件下的数字对,因此一对数组可能是最好的前进方式。

您还可以通过计算x10 - 10循环之外的for等来提高性能和可读性。

var alive1 = true;

var minX = x10 - 10;
var maxX = x10 + 10;
var minY = y10 - 10;
var maxY = y10 - 10;

var coords = [[x2,y2], [x3,y3], [x4,y4], [x5,y5], [x6,y6]];

// loop each [x,y] pair
for(var i = 0; i < coords.length; i++) {
    var x = coords[i][0];
    var y = coords[i][1];
    if(x >= minX && x <= maxX && y >= minY && y <= maxY) {
        alive1 = false;
        // found a false condition, no need to continue the loop
        break;
    }
}

答案 1 :(得分:1)

由于您只是检查x2是否在x10的10之内而且y2y10的10之内,依此类推,您可以更改它到:

if (Math.abs(x2 - x10) <= 10 && Math.abs(y2 - y10) <= 10 && ...) {
    alive1 = false;
}