- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
ISQ.Widget.ContactForm.clickEventHandler=function(a){
switch(a.result){
case ISQ.Forms.clickEventEnum.SUBMIT:
ISQ.Widget.Log.add("contactForm submit");
ISQ.Widget.ContactForm.send(a.formElements);
ISQ.Widget.ContactForm.close(true);
break;
case ISQ.Forms.clickEventEnum.CANCEL:
if(ISQ.Cnf.limited){
break
}
ISQ.Widget.Log.add("contactForm cancel");
if(a.query!==""){
ISQ.Widget.HTML.queryField.value=a.query
}
ISQ.Widget.ContactForm.canceled=true;
ISQ.Widget.ContactForm.close();
break;
case ISQ.Forms.clickEventEnum.ERROR:
ISQ.Widget.Log.add("contactForm input error");
break
}
};
Если честно, то тут автор даже удивил. Как-то раньше ни разу не пришлось два брейка в одном кейсе делать, все как-то одним обходился.
И это еще даже не весь проект.
это как писать return в самом начале ф-ции после какой-то элементарной проверки и если делать больше ничего не надо
с таким же успехом можно было бы убрать первый break и обернуть весь case в if. но зачем?
Но на самом деле, зачастую, в небольшой функции (а они ведь должны быть небольшими!) несколько return'ов, отбрасывающих кривые данные или return в цикле поиска очень наглядны и удобны, по сравнению с флагами, коими пытаются нас кормить адепты-одноретурнцы.
Так что не вижу ничего плохого в двух бряках. Да собственно как и в варианте без двух бряков.
Т.е. конструкция практически идентична if (condition) else { code }
все равно не понимаю как можно без последнего break'а
Ну, в принципе, может так оно и лучше. Хотя лично я не вижу плохого в обоих вариантах.