if
Выполняет тот или иной блок кода в зависимости от того, верно ли условие
Синтаксис
if (condition)
statement1
[else
statement2]
Аргументы
- condition
- Выражение, являющееся условием для проверки
-
- statement1
- Блок или javascript-вызов, который выполняется, если условие верно
-
- statement2
- Блок или javascript-вызов, который выполняется, если условие ложно
-
Описание, примеры
В javascript также разрешена проверка else if :
if (a==1) {
...
} else if (a==2) {
...
} else {
...
}
В качестве условия может быть любое выражение:
Пример: присваивание как условие
a = 5
if (b=a) {
...
}
|
Господа, а не правильнее ли if (a == 1) , а?
a=1 - это присваивание! Да, верно заметили оно МОЖЕТ быть использовано как условие. Но условие равенства - это ==.
И про && и || не написали.
Аффтар жжот... на троечку!
"a=1 - это присваивание!", это верно, но оно в данном случае проверяет возможность такого действия, так что всё правильно, но по идее a=1 всегда истенно, а && и || есть соответствующий раздел.
А где находится раздел про || ?
+, не нашёл
согласен
Мне все равно что прошло уже 4 года с момента постинга этого комментария. Прочитав все это я почувствовал резкую боль ниже спины и, дабы добрые люди не путались, скажу: Начните с операторов и определения булевых значений!!!
А если else не нужен?
Тогда не пишите его.
А как насчет нескольких condition? Каков синтаксис?
Нужна ли };
От бедняга ))
Тут же есть кнопочки на панельке редактирования, чтобы код вставлять. На одной из них написано:
Ваш пример неверен.
В JS, как и в, например, Си (но в отличие от, например, Python'а) такие неравенства не работают. Выполняются они в порядке приоритета операторов и их следования, т.е.:
0 < 10 < 5 = (0 < 10) < 5 = (true) < 5 = 1 < 5 = true.
Блин, даже здесь активных XSS нету...
Стопицот раз уже все перепроверили. Нету здесь дыр.
а можно вместо
записать
а то strict XHTML ругается
можно записать a &_lt; 5 только в IE это работать не будет, а в нормальных гляделках вполне.
а можно текст скрипта в комментарии, и никто ругаться не будет. Типа:
Азбуку учЫт нада
Приветствую, люди!
Есть такая ситуация (пример):
if (Id == 22364){
{
информация});
};
Мне нужно сделать так, чтобы для определённого id дання информация НЕ выводилась.
Заранее спасибо.
А как сделать так чтобы было условий много??? У меня просто НОУ скоро... Нужно чтобы было 5 условий!!!
С каких пор JS стал нагружать сервер ?
оо.... СПС!) С этим сравнением все мозги вынес. Думал =, надо ==. ))
народ, почему ругается на такую конструкцию? (хм, наверное потому что так нельзя делать - но можно поподробнее):
если необходимо так укорачивать, то можно так :
Нужно чтобы было 5 условий
Сделай ОДИН IF а затем четыре ELSE IF
Ну и до кучи можно последний ELSE поставить.
Вложеные IF - НЕДЕЛАЙ, башня съедет ковычечки потом подбирать по количеству вначале и вконце.
Пользуйся редактором "Notepad++" - он все кавычки видит...
Народ..как в if записать условие что если адрес предыдущей страницы равен заданному адресу юрл то происходит переход на другой юрл,как переход сделать я знаю...а само сравнение помогите записать
Здравствуйте!
Вот Вы пишете - if (a==1), а если "a" не равно 1 как это записать?
Гость_Татьяна, if (a!=1)
так зачем по пять раз писать if и else if ? если есть код в слуае true и else в случае false ?
В основной статье остро не хватает примера сложного условия :-( Спасибо.
Никогда не было проблем с if else до тех пор, пока не встала необходимость выполнять один и тот же код в цикле, при этом условия должны быть разными во время каждой интерации (прохода цикла). Очень не хотелось мне писать несколько раз if else и копировать в него один и тот же код!
В общем, решение я нашел. Уверен этот пример станет для кого-нибудь полезным. ))
Сорри, ошибочку заметил. Алерт нужно писать так, чтобы пример работал
Пока менял имена переменным, все перестало работать. А пост редактировать нельзя. Так что вот 100% рабочий пример. ))))
Да хороший рабочий пример. Проверил для i=n - работает, где n>6
так что можно добавить
...
{
cond: (i == n),
text: 'Выполнилось условие для n+1 прохода цикла'
}
как ни странно не могу объединить две функции в одну, чтобы выполнялись с одной и той же ссылки
function slidedown(objname){
if(moving[objname])
return;
if(document.getElementById(objname).style.display != "none")
return; // cannot slide down something that is already visible
moving[objname] = true;
dir[objname] = "down";
startslide(objname);
}
function slideup(objname){
if(moving[objname])
return;
if(document.getElementById(objname).style.display == "none")
return; // cannot slide up something that is already hidden
moving[objname] = true;
dir[objname] = "up";
startslide(objname);
}
таким образом всё работает.
видно, что эти две функции имеют одинаковые части кода, хочу оптимизировать так:
function slide_UpDown(objname){
if(moving[objname])
return;
if(document.getElementById(objname).style.display != "none")
{
dir[objname] = "up";
}
else
{
dir[objname] = "down";
}
moving[objname] = true;
startslide(objname);
а так браузер ругается (не находит эти функции, ни эту, ни те, что выше).
В песочнице возился тоже ничего хорошего.
Спасибо всем уделит внимание.
Братцы подскажите плиз не понимаю:
Как видно из описанию конструкции if, condition является условием для проверки, только в следующем примере который взят из учебника невидно никакого условия:
var newWindow
function makeNewWindow() {
newWindow = window.open("","","height=300, width=300");
}
function closeNewWindow () {
if (newWindow) {
newWindow.close();
newWindow = null;
}
}
Что значит if (newWindow) где здесь проверяемое условие?
В выражении if (newWindow) , если newWindow есть, то подставится его значение, то есть будет true и условие выполнится, если newWindow нет (null) , то и значения нет -> false -> и условие не выполнится.
Вот это как раз и не работает:
switch (ovec) {
case 2,4,8,10: $t -=0.1;
}
А вот это работает:
switch (ovec) {
case 2: $t -=0.1;break;
case 4: $t -=0.1;break;
case 8: $t -=0.1;break;
...}
Ребят, подскажите пожалуйста как сделать, что бы при определенном условии появлялось определенное (окно, блок)?
Например:
есть выбор между вариантами, если выбрать 1 вариант, то ниже появляется окно с определенным текстом, если же выбрать другой вариант, то ниже появится окно с другим содержимым.
Как это сделать, подскажите пожалуйста!!
Заранее благодарю за ответ!
Подскажите пожалуйста.
Как сделать?
если а<500 то а*3000
если а>500 то а*1500
и результат вывести в
или второй вариант
если а<500 то а*3000
если а>=1000 то а*1500
если а>1000 то а*1000
и результат вывести в
Вопрос знатокам - почему не работает такой код:
if (1==1) x=1 else x=2
а вот такой работает:
if (1==1) x=1
else x=2
if (1==1) x=1 else x=2
после x=1;
А я вот не пойму логику следующего кода.
К примеру я выбрал rock
и рандомом комп выбрал тоже rock
получаем выполнение первого условия
if (choice1 === choice2) {
return "The result is a tie!";
}
но почему дальше не выполняется код?
if (choice1 === "rock") {
if (choice2 === "scissors") {
return "rock wins";
} else {
return "paper wins";
}
}
по идее он должен пойти дальше, choice 1 === rock | true
choice2 === scissors | false
выполняем else - return "paper wins"
в итоге получаем два реторна:
The result is a tie!
paper wins
но на практике показывает только 1й
var userChoice = prompt("Do you choose rock, paper or scissors?");
var computerChoice = Math.random();
if (computerChoice < 0.34) {
computerChoice = "rock";
} else if(computerChoice <= 0.67) {
computerChoice = "paper";
} else {
computerChoice = "scissors";
}
console.log (computerChoice);
var compare = function (choice1, choice2) {
if (choice1 === choice2) {
return "The result is a tie!";
}
if (choice1 === "rock") {
if (choice2 === "scissors") {
return "rock wins";
} else {
return "paper wins";
}
}
if (choice1 === "paper") {
if (choice2 === "rock") {
return "paper wins";
} else {
return "scissors wins";
}
}
if (choice1 === "scissors") {
if (choice2 === "rock") {
return "rock wins";
} else {
return "scissors wins";
}
}
};
compare(userChoice,computerChoice);
подскажите что неправильно:
С одним условием td==1 все работает!
Если вам нужно, чтобы блок кода после оператора if выполнялся когда переменные td и tr одновременно равны единице, то вам нужен логический оператор и (&&).
Если же он должен выполнятся тогда, когда хотя бы одна из переменных td или tr равна единице, то вам нужен логический оператор или (||)
Рябе. Не понимаю почему не работает. Смысл в том, что получаю доступ к HTML через JS. В зависимости от HTML JS, через if пытается изменить код. но почему то не работает, поможете?
HTML
разобрался.)
Встречался, что onload не срабатывала.
Как написать код, который бы срабатывал, если функция не работает?
Напр. if (menu()***) {тогда}
возможно что-то такое?
Подскажите что не правильно?
мне надо проверить что человек написал в input и если он написал cmd то показывался div
var run = document.getElementById('txt');
function test_run() {
if (run == 'cmd') {
document.getElementById('run').style.display='none';
document.getElementById('cmd').style.display='block';
}
else {
document.getElementById('run').style.display='none';
};
};
if (run.value=='cmd') {...
Вроде так.
Дмитрий
Товарищи, если способ сделать следующую штуку, без описания if для каждого случая, а так что бы раз написал злой код и он работал ?
У меня есть 2 массива длинна их одинаковая и если в первом массиве для n-ого элемента выполняется условие то в n-ом элементе второго массива присваивалось значение?
Запилил. Оказалось всё дико просто. Вдруг кому пригодится
у Вас там if лишний, да и цикл каждый раз зря groupsvallue.length выполняет.
Так будет лучше:
ОГО! как минималистично, попробую, что из этого получится
sussh, большое спасибо! Всё работает как часы
Я только начинаю познавать азы JavaScript, и с данной конструкцией пока не встречался. В общем читать мне ещё и читать умные книжки.
А так ещё лучше:
Сравнение с приведением типов с константами true и false не имеет смысла ни в каком случае, и сразу выдаёт новичка.
Отрицание булева значения делается унарным оператором !
Создайте число. Определите, является ли последняя цифра числа семеркой.
ПОМОГИТЕ РЕШИТЬ С ОПЕРАТОРАМИ if and else
Нужен скрипт отображения времени загрузки страницы и функцией выполнения определенный действий при определенных значениях.. . Например: Скрипт показывает, что время загрузки страницы меньше секунды, а действие при этом будет следующее: выводится текст типа "отличная скорость" или если больше двух, трех секунд - сообщение "скорость хорошая"...
Желательно java скрипт...
Представьте, что Вы зашли на мой сайт, и зашли на определенную страницу, где скажем имеется игра со сложной графикой, требующая, как минимум 2-3 Мбит/с интернета.. . Что, бы Вы не мучились долгим ожиданием загрузки данной игры, я страницу сделал громоздкой, порядка 5 Мбайт и время загрузки данной страницы будет решать и сообщать посетителю, стоит ли играть в данную игру.. . Вот почему мне нужен скрипт, где она выдавала бы сообщение после открытия страницы с игрой (перед тем, как начать игру) и выдавала бы сообщение, если страница весом 5 Мбайт долго загружалась бы, например порядка 5-6 секунд... Тогда выдавалась бы сообщение, что скорость интернета низкая и что Вы не сможете играть, и наоборот.. . Вот и вся суть.. .
Вот нашел кое-что, но он порядка из 10 раз открытой одной и той же страницы, лишь в 2-х случаях выдал результат, а на остальных 8-ми показывал = 0... Да и к тому же, здесь нет условного оператора, который выдал бы сообщение, при определенных значениях.. . К примеру (IF)... И еще, можно ли данный скрипт немножко укоротить...?
var Sn=new Date();
var Ss=Sn.getSeconds();
var Sms=Sn.getMilliseconds();
Ss=String(Ss);
Sms=String(Sms);
var sT=Ss+'.'+Sms;
function endTIME()
{var En=new Date();
var Es=En.getSeconds();
var Ems=En.getMilliseconds();
Es=String(Es);
Ems=String(Ems);
var eT=Es+'.'+Ems;
var tT=eT-sT;
var lt='';
var iREF=document.location.href;
lt+='Адрес страницы: '+iREF;
lt+='Время загрузки: '+tT+' секунд';
document.write(lt);}
endTIME();
Вот еще...
Помогите разобраться в коде и присоединить оператов if...
var tmp = Math.round((Math.random() * (5174 - 2381)));
var tmp2 = Math.round((Math.random() * (25 - 6)));
var a=Math.round(Math.random()*2)
stats = new Array();
stats[0]="(8.23% JS / 91.77% HTML)"
stats[1]="(1.64% JS / 98.36% HTML)"
stats[2]="(5.11% JS / 94.89% HTML)"
stats[3]="(7.09% JS / 92.91% HTML)"
stats[4]="(8.55% JS / 91.45% HTML)"
stats[5]="(5.44% JS / 94.56% HTML)"
stats[6]="(1.23% JS / 98.77% HTML)"
stats[7]="(4.2% JS / 95.8% HTML)"
stats[8]="(4.13% JS / 95.87% HTML)"
stats[9]="(8.23% JS / 91.77% HTML)"
Сгенерировано за 0,00
document.write(tmp);
секунд с
document.write(tmp2);
запросами
document.write (""+stats[a]+"");
Из этих двух скриптов можно сделать то что я описывал...?
И еще, на данной странице имеется фрейм iframe в которую и грузиться игра... Можно сделать так, что скрипт подсчитал и время загрузки фрейма...
Т.е., все вместе, один результат...
Помогите организовать процесс сравнения трех переменных и вывода наибольшего на экран , я попытался сделать но что то запутался ...это выглядит примерно так
function calculator(form) {
a = eval(form.a.value);
b = eval(form.b.value);
c = eval(form.c.value);
a1=a/20000*3500
b1=b/82*3500
c1=c/33*3500
нужно присвоить значению z1 наибольшее из a1 b1 c1
form.total.value = z1;
}
Введите вес (кг.)
Введите объем (м.куб)
Введите кол-во паллет (шт)
Стоимость перевозки
Help, please! ^_^
Напишите скрипт, в котором пользователя просят ввести
правильный пароль. При вводе правильного пароля, в окне браузера
появляется сообщение о том, что пароль верен. При вводе
неправильного пароля – выпадает сообщение о неправильно
введенном пароле. Для выполнения задания введите переменную
password, в которую сохраните верное значение пароля.
не найду по сайту через поиск - как сделать объединение что бы какойто функцией или правилом ссылаться на другой JS файл - так что бы вносить правки в тот на который ссылается файл а всю информацию брало с одного главного файла который будет собирать ее с других...
может есть хоть что то помогающее в вордпрес из кучи скриптов слепить несколько основных?