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] if (0 < a < 5) { alert(a + " находится между нулём и пятью!"); }Ваш пример неверен.
a = 10; if (0 < a < 5) { alert(a + " находится между нулём и пятью!"); }В JS, как и в, например, Си (но в отличие от, например, Python'а) такие неравенства не работают. Выполняются они в порядке приоритета операторов и их следования, т.е.:
0 < 10 < 5 = (0 < 10) < 5 = (true) < 5 = 1 < 5 = true.
a=Window.location.hostname.tostring(); alert("Хост " + a);Блин, даже здесь активных XSS нету...
Стопицот раз уже все перепроверили. Нету здесь дыр.
а можно вместо
записать
а то strict XHTML ругается
можно записать a &_lt; 5 только в IE это работать не будет, а в нормальных гляделках вполне.
а можно текст скрипта в комментарии, и никто ругаться не будет. Типа:
Азбуку учЫт нада
Приветствую, люди!
Есть такая ситуация (пример):
if (Id == 22364){
{
информация});
};
Мне нужно сделать так, чтобы для определённого id дання информация НЕ выводилась.
Заранее спасибо.
А как сделать так чтобы было условий много??? У меня просто НОУ скоро... Нужно чтобы было 5 условий!!!
С каких пор JS стал нагружать сервер ?
оо.... СПС!) С этим сравнением все мозги вынес. Думал =, надо ==. ))
народ, почему ругается на такую конструкцию? (хм, наверное потому что так нельзя делать - но можно поподробнее):
// не пашет var reload = true; reload ? $("#id_grid").trigger("reloadGrid") : ; // работает reload ? $("#id_grid").trigger("reloadGrid") : reload = false;если необходимо так укорачивать, то можно так :
var reload = true; reload && $("#id_grid").trigger("reloadGrid");Нужно чтобы было 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 и копировать в него один и тот же код!
В общем, решение я нашел. Уверен этот пример станет для кого-нибудь полезным. ))
var conditions = [{ cond: (i == 0), text: 'Выполнилось условие для 1 прохода цикла' }, { cond: (i == 1), text: 'Выполнилось условие для 2 прохода цикла' }, { cond: (i == 2), text: 'Выполнилось условие для 3 прохода цикла' } ]; for(var i = 0; i <= temp.length; i++) { if (temp[i]) { alert(temp[i].count) } }Сорри, ошибочку заметил. Алерт нужно писать так, чтобы пример работал
Пока менял имена переменным, все перестало работать. А пост редактировать нельзя.
Так что вот 100% рабочий пример. ))))
var conditions = [{ cond: (i == 0), text: 'Выполнилось условие для 1 прохода цикла' }, { cond: (i == 1), text: 'Выполнилось условие для 2 прохода цикла' }, { cond: (i == 2), text: 'Выполнилось условие для 3 прохода цикла' } ]; for(var i = 0; i <= conditions.length; i++) { if (conditions[i]) { alert(conditions[i].text) } }Да хороший рабочий пример. Проверил для 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);
подскажите что неправильно:
if (td==1 !! tr==1) { color="red"; };С одним условием td==1 все работает!
Если вам нужно, чтобы блок кода после оператора if выполнялся когда переменные td и tr одновременно равны единице, то вам нужен логический оператор и (&&).
if (td == 1 && tr == 1) { color = "red"; }Если же он должен выполнятся тогда, когда хотя бы одна из переменных td или tr равна единице, то вам нужен логический оператор или (||)
if (td == 1 || tr == 1) { color = "red"; }Рябе. Не понимаю почему не работает. Смысл в том, что получаю доступ к HTML через JS. В зависимости от HTML JS, через if пытается изменить код. но почему то не работает, поможете?
HTML
#div1 { color: #006006; background-color: #FFFFFF; } #div2 { border: #000000 solid 1px; }var d1 = document.getElementById("div1"); var u_link = document.getElementById("update"); u_link.onclick = function() { if (d1.style.backgroundColor == "#CCCCCC";) { d1.style.backgroundColor = "#FFFFFF"; d1.innerHTML = "When I update this page?"; return false; } else { d1.style.backgroundColor = "#CCCCCC"; d1.innerHTML = "<strong>NOW!</strong> Quickly, right?"; return false; } return false; }разобрался.)
Встречался, что 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-ом элементе второго массива присваивалось значение?
Запилил. Оказалось всё дико просто. Вдруг кому пригодится
function percent() { var groupsvallue = []; groupsvallue[0] = (Xrm.Page.getAttribute("new_dkp")); groupsvallue[1] = (Xrm.Page.getAttribute("new_dir")); groupsvallue[2] = (Xrm.Page.getAttribute("new_drpo")); groupsvallue[3] = (Xrm.Page.getAttribute("new_dnsi")); groupsvallue[4] = (Xrm.Page.getAttribute("new_dsp")); groupsvallue[5] = (Xrm.Page.getAttribute("new_ksm")); var groupofpercents = []; groupofpercents[0] = (Xrm.Page.getAttribute("new_percentdkp")); groupofpercents[1] = (Xrm.Page.getAttribute("new_percentdir")); groupofpercents[2] = (Xrm.Page.getAttribute("new_percentdrpo")); groupofpercents[3] = (Xrm.Page.getAttribute("new_percentdnsi")); groupofpercents[4] = (Xrm.Page.getAttribute("new_percentdsp")); groupofpercents[5] = (Xrm.Page.getAttribute("new_percentksm")); for(var i=0; i<groupsvallue.length; i++) { if (groupsvallue[i].getValue() == true) { groupofpercents[i].controls.get(0).setDisabled(false); } else groupofpercents[i].controls.get(0).setDisabled(true); } }у Вас там if лишний, да и цикл каждый раз зря groupsvallue.length выполняет.
Так будет лучше:
var i=groupsvallue.length; while(i-- > 0) { groupofpercents[i].controls.get(0).setDisabled(groupsvallue[i].getValue() != true); }ОГО! как минималистично, попробую, что из этого получится
sussh, большое спасибо! Всё работает как часы
Я только начинаю познавать азы JavaScript, и с данной конструкцией пока не встречался. В общем читать мне ещё и читать умные книжки.
А так ещё лучше:
var i=groupsvallue.length; while(i-- > 0) { groupofpercents[i].controls.get(0).setDisabled(!groupsvallue[i].getValue()); }Сравнение с приведением типов с константами 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 файл - так что бы вносить правки в тот на который ссылается файл а всю информацию брало с одного главного файла который будет собирать ее с других...
может есть хоть что то помогающее в вордпрес из кучи скриптов слепить несколько основных?