четверг, 20 июня 2013 г.

Внимание var x = 0 значит if(x) означает false и мы не войдем внутрь if !!!

Представим, что

var x = 0;

А 0 означает false.

Следовательно при условии

if (x) {
    alert('OK');
}

мы никогда не войдем внутрь фигурных скобок.

Чтобы не было такой оплошности писать надо так:

var x = 0;

if (!x) {
    alert('OK');
}

Пример.

function point(x, y) {
    if (!x) {
        x = 320;
    }
    if (!y) {
        y = 240;
    }
    return { x: x, y: y };
}

console.log(point(0, 0));
console.log(point(1, 1));

Еще в таком случаем можно сравнить нулевое значение в "undefined".

var x = 0;

if (x !== 'undefined') {
    alert('OK');
}

Комментариев нет:

Отправить комментарий