JavaScript

Что делает этот ява скрипт? if (!lf) { var lf=1; document.write(''); }

ИК
Илья Карпей
4 604
Если lf содержит ЛОЖЬ, то, какого-то хрена, её повторно инициализируют, присваивая ей 1, и затем удаляют всё содержимое веб-страницы. Следующий код работает аналогичным образом:
var lf = 1;
// TODO:
lf = 0;
if (!lf) { lf = 1; document.write(''); }
Решат Османов
Решат Османов
60 295
Лучший ответ
не добавляет, а подменяет. содержимое страницы подменяет строкой '' - т. е. пустой строкой, т. е. очищает страницу.
попробуйте в браузере в консоли выполнить document.write(''); и сами увидите
KG
Karay?lan Gunes
26 662
если переменная lf равна нулю то срабатывает условие и в нее записывается значение 1 и document.write добавляет текст к страничке
Илья Карпей странный скрипт. какой текст добавляет к страничке где берет?
Игорь Королев Либо если lf не равно ничему, либо равно undefined или NaN
не знаю, о чем говорит народ, но ф-ция document.write() сама по себе ничего не заменяет и не очищает тег... она дописывает текст в окне браузера
document.write('') - пустое значение
document.write('123') - дописывает строку 123
заменянт текст в теге метод .innerHTML()
Если предположить что значение переменной lf обязательное, и нужно учесть тот случай, что по каким-то причинам пользователь может ее не ввести, что-то не нажать и т. д., то такой конструкцией можно это проверить. Если переменная lf до строчки проверки не будет создана/определена то ее тип на момент проверки будет undefined.
Знак! перед переменной в условии означает "если тип - undefined".

если (переменная lf - не определена (undefined) ){
то создать переменную lf и присвоить ей значение "1";
и в документ вывести (что-то);
}
document.write - отображает что-то в тело документа, если у вас до выполнения этой строчки скрипта была какая-то разметка (не пустая страница), то document.write ее заменит (сотрет).

У вас ничего не отображается потому что вы не указываете что выводить;

document.write(lf) //виведет вам значение переменной lf, тоесть 1.
document.write('Просто текст') //виведет строку в кавычках

Если вы указывает что текст берется из аргументов функции, то в document.write нужно вписать
эту функцию (вызвать ее).
Artiom Novitsky
Artiom Novitsky
438
Если переменная If отсутствует (а не равна нулю), тогда очистить все содержимое тега