Мало того, что вы можете использовать функции в операторах if
в JavaScript, но вы можете делать это практически на всех языках программирования. Этот случай специально выделен в JavaScript, так как в нем функции являются простыми гражданами. Функции почти все в JavaScript. Функция - это объект, функция - это интерфейс, функция - это возвращаемое значение другой функции, функция может быть параметром, функция создает замыкания и т. Д. Следовательно, это допустимо на 100%.
Вы можете запустить этот пример в Firebug, чтобы убедиться, что он работает.
var validator = function (input) {
return Boolean(input);
}
if (validator('')) {
alert('true is returned from function');
}
if (validator('something')) {
alert('true is returned from function');
}
Также в качестве подсказки, зачем использовать операторы сравнения в блоке if
, когда мы знаем, что выражение является логическим выражением?