- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
function checkForm(form, mustform){
error=0;
if(mustform){
for(i in mustform) if(form.elements[mustform[i]]){
if(!form.elements[mustform[i]].value){
error=1;
jQuery(form.elements[mustform[i]]).next().remove();
jQuery(form.elements[mustform[i]]).parent().append('<div style="color:red">поле обязательно к заполнению</div>');
} else jQuery(form.elements[mustform[i]]).next('div').remove();
}
if(error>0) return false; else return true;
} else return true;
}
bormand 02.10.2015 19:25 # +3
> error=1;
> if(error>0) return false; else return true;
Вроде и знает о булах, но не юзает...
guest 02.10.2015 21:34 # +3
bakagaijin 02.10.2015 20:44 # +1
hasOwnProperty 02.10.2015 21:00 # +6
1024-- 02.10.2015 23:08 # +3
3_14dar 04.10.2015 07:09 # +2
bormand 04.10.2015 10:36 # +1
А почему нельзя вызвать mustform.hasOwnProperty(i) - х.з. Об этом надо спросить 1024--.
bormand 04.10.2015 10:39 # +1
Пример: hasOwnProperty как свойство
А ты ж ёбаный ты ж нахуй... Как вы вообще на этом пишете?
bakagaijin 04.10.2015 11:45 # 0
3_14dar 04.10.2015 22:45 # 0
Там какие-то проблемы с биндингом вроде были, вы мне еще разницу между питоном и js объясняли, так?
1024-- 04.10.2015 10:48 # +1
Почему так?
1. Простой for..in вызовет φ и для прототипа:
И вот мы решили использовать hasOwnProperty.
2. Если мы хотим создать словарь без всякого мусора в прототипе (http://govnokod.ru/16567#comment250319), то hasOwnProperty у нас не будет:
И вот мы решили использовать hasOwnProperty для объектов в стиле ООП и простой for..in для объектов-словарей, ведь у них ни прототипа, ни hasOwnProperty.
3. Если в объект добавить конструктор/прототип, он проявит новые свойства:
Наконец мы решаем всё проверять, но взять hasOwnProperty там, где он действительно будет
4. Кажется, работает:
Но это же ECMAScript, как может что-то работать без подвохов?
1. Кто-нибудь может изменить Object.prototype:
Но это уже ССЗБ и неизлечимо.
2. В Хроме __proto__ уже не работает и выводится как обычное поле, в Node.js оно вроде бы ещё считается особенным, поэтому результаты кода №3 и кода №4 показаны как в Node, а в браузере добавится итерация по __proto__.
Итого:
1. Обращение к словарю:
2. Вопрос читателям: Как пройтись по всем свойствам словаря?
bormand 04.10.2015 10:51 # 0
1024-- 04.10.2015 10:56 # +1
Вроде бы должно работать.
bormand 04.10.2015 11:00 # +1
Stallman 04.10.2015 12:17 # +3
3_14dar 04.10.2015 22:45 # 0
3_14dar 05.10.2015 00:18 # +4
foreach сам не напишется, напиши его, напиши его еще раз!
Тупые лохи на всех возможных языках юзают готовый, но я слишком умный для этого!
guest 06.10.2015 17:12 # 0
guest 06.10.2015 17:14 # 0
bormand 04.10.2015 10:34 # +3
1024-- 04.10.2015 10:58 # +2
progsmile 04.10.2015 13:16 # +4
Stallman 04.10.2015 13:49 # +3
Вот как точно и ёмко одной фразой описал ECMAScript!