-1. Пример:
var str = 'Форум Web Мастера и Компьютерщика';
alert(str.indexOf('Форум')); // 0
alert(str.indexOf('Web')); // 6
alert(str.indexOf('danfa')); // -1Известно, что условие (
if) воспринимает -1, как true, а 0, как false, следовательно, сделав такую проверку:
var str = 'Форум Web Мастера и Компьютерщика';
if (str.indexOf('Форум')) {
alert('Подстрока найдена!');
}
else {
alert('Подстрока не найдена.');
}Мы получим сообщение: "
Подстрока не найдена.", так как indexOf вернет 0, а если будем таким же способом проверять наличие подстроки danfa, то скрипт выведет сообщение "Подстрока найдена!". Проверка не правильно отработала в обоих случаях...Чтобы избежать неверных проверок, к результату функции indexOf мы прибавим единицу (
+ 1), тогда все встанет на свои места, первое найденное совпадение (0) - станет единицей, а отрицательный результат станет нулем. Делаем так:
var str = 'Форум Web Мастера и Компьютерщика';
if (str.indexOf('Форум') + 1) {
alert('Подстрока найдена!');
}
else {
alert('Подстрока не найдена.');
}Проверяем. Результат должен быть: "
Подстрока найдена!", а если так, то наша проверка работает верно.