Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #41 (permalink)  
Старый 06.12.2013, 15:48
Аватар для ksa
ksa ksa на форуме
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,213

Сообщение от danik.js
у тебя дублируется проверка условия
А ты функцию два раза вызываешь...
Вобщем паритетно...
Ответить с цитированием
  #42 (permalink)  
Старый 06.12.2013, 16:31
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

не соглашусь
i = promptNumber(); дублируешь в коде два раза увы повторяешься
for (var getNumber = function () {
          return prompt("Введите любое число больше 5")
        }, i, a = 0; i = getNumber(), a = isNaN(i), 5 >= i || a;)
      //закончили объявление переменных и условие цикла, ниже строчка одна - тело цикла как видите можно без {}
      alert("Вы ввели " + (a ? 'не число' : i) + ". Пожалуйста введите число больше 5");
      alert("Спасибо, вы ввели " + i);

не смотрите на синтаксис всем не угодишь (у каждого своя нотация и тараканы),
вы учитесь самое главное, чтобы понимали, что написано
переписал код с предложенный на странице 4. Ввел переменную a, чтобы не вызывать дважды isNaN(i), можно и без нее, тогда isNaN(i) http://javascript.ru/isNaN в некоторых вариациях будет дважды вызвано как на странице 4

Последний раз редактировалось Vlasenko Fedor, 07.12.2013 в 00:25.
Ответить с цитированием
  #43 (permalink)  
Старый 06.12.2013, 18:49
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от ksa
А ты функцию два раза вызываешь...
Вобщем паритетно...
Неа. Вызов функции предпочтительней. Допустим тебе лимит нужно установить не 5, а другое значение. Тогда тебе придется изменять код в двух местах, а мне - в одном. Тогда как вызов функции трогать не придется. Разница налицо.
Poznakomlus, ну я ведь привел вариант без дублирования вызова, но он страшный (впрочем не настолько страшный как твой ).
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #44 (permalink)  
Старый 06.12.2013, 19:07
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

danik.js ,что твой код выведет при вводе символа буквы?
Да компилятор тот же Closure Compiler сделает из него ...
То от чего бежишь

Последний раз редактировалось Vlasenko Fedor, 06.12.2013 в 19:19.
Ответить с цитированием
  #45 (permalink)  
Старый 06.12.2013, 20:10
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Poznakomlus
danik.js ,что твой код выведет при вводе символа буквы?
Я не менял логики, поставленной тс. Если нужны доп. проверки, то лучше всего подойдет уже предложенный здесь do .. while (isError), где isError = isNaN(i) || i < 5
Но уж точно не твой изуродованный for.
Сообщение от Poznakomlus
Да компилятор тот же Closure Compiler сделает из него
То есть я правильно понимаю, что ты пишешь вручную код, прогоняешь через CC и коммитишь результат в свой проект?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #46 (permalink)  
Старый 06.12.2013, 21:05
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

вот из-за таких конструкций и начинается г-код
return Number(prompt("Введите любое число больше 5"));

никто из вас не поправил
здесь Number http://javascript.ru/Number не нужен
Мой изуродованный for не думаешь, что он лежит в основе всех остальных циклов
В Closure Compiler я пользуюсь по назначению и да смотрю как он меняет конструкции.
Полезно, можно увидеть как он убирает мусор в твоем коде
Ответить с цитированием
  #47 (permalink)  
Старый 06.12.2013, 22:25
Аватар для ksa
ksa ksa на форуме
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,213

Сообщение от danik.js
Вызов функции предпочтительней.
Убедил.
Ответить с цитированием
  #48 (permalink)  
Старый 07.12.2013, 00:55
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Poznakomlus
Полезно, можно увидеть как он убирает мусор в твоем коде
Полезно конечно. Но это не значит что нужно начать писать изуродованный код, не предназначенный для чтения людьми. Чет я вобще не понимаю к чему ты тему про CC завел. Если бы мой код ломался после обработки CC, то другое дело.

Сообщение от ksa
Убедил.
Думаю с кэшированием в isError твой вариант не хуже.
А Poznakomlus пускай и дальше откомпилированный "машинный" код пишет ))
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #49 (permalink)  
Старый 07.12.2013, 01:22
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

А Poznakomlus пускай ...
Пипец, то есть ошибок (в||т) ы не наделал, а скопипастили код Т.С.
Он же смотрит на вас и думает, что ему код дали правильный от профи
Понятно с повторениями и с ошибками по обработке данных (гомнокод)
этому мы учить будем
"Думаю с кэшированием в isError твой вариант не хуже"
эт ты кому пишешь, где кеширование, isError убрал
"не предназначенный для чтения людьми" там 5 строк, 4 из них цикл
эт учить нужно наизусть
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Книга: JavaScript. Сильные стороны Magneto Учебные материалы 16 21.04.2013 15:28
Интерпретатор Java на JS kobezzza Оффтопик 24 11.10.2012 18:32
Первый Moscow JavaScript Meetup korenyushkin Общие вопросы Javascript 0 26.07.2011 15:23
Последние книги по JavaScript! monolithed Учебные материалы 7 26.10.2010 19:40
Выдвет ошибку JavaScript Ромио Opera, Safari и др. 4 21.10.2010 20:34