Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.09.2018, 17:51
Аватар для madeas
Профессор
Отправить личное сообщение для madeas Посмотреть профиль Найти все сообщения от madeas
 
Регистрация: 13.04.2018
Сообщений: 232

Изучение javascript
Всем привет!
Я часто сталкиваюсь в работе с js, могу решить задачи различной сложности => найти код и отредактировать под свои нужды. Хотя, на данном этапе, это времязатратный процесс, поскольку нет полноценного понимания языка. Поэтому я решил начать изучать js основательно, так сказать, научиться программировать самому, а не говнокодить), с применением современных стандартов. С теорией у меня туго, поэтому предпочитаю изучать в ходе работы, на практике, по необходимости заглядывая в доки.
Сделал небольшую подборку простеньких скриптов, возможно они кому-нибудь тоже пригодятся. http://jsfiddle.net/madeas/07vqk1ms/12/

В скрипте уже заменил все var на const и подвел скрипты к более современному виду. Возможно, кто-то подскажет, как можно сделать еще лучше...
Придумывать задачи из головы не получается, поскольку не совсем понимаю куда двигаться. Можете накидать несколько интересных, но не слишком сложных задач, отталкиваясь от примера выше, для повышения уровня работы с js, но так, чтобы не перескакивать через этапы и не пропустить важные вещи?
Или посоветуйте канал/видео уроки, с качественным содержанием. Искал в сети видео, но почти везде пишут, что авторы не правильно рассказывают, начинают не с того или говорят совсем не то, перескакивая через "шаги".

Грубо говоря, ищу наставника и друга, который поможет в изучении языка). В дальнейшем планирую работу с node.js, gulp и angular. Буду рад совместной работе, в ходе обучения, над каким-нибудь проектом.
Ответить с цитированием
  #2 (permalink)  
Старый 04.09.2018, 18:23
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Сообщение от madeas
Можете накидать несколько интересных, но не слишком сложных задач, отталкиваясь от примера выше,
// 1 задаем стили рабочей области через js
document.querySelector('.container').style = 'display:flex; flex-direction: column;align-items: center;border: 1px dotted lightgray;padding:25px';


сделайте тоже самое, но используя метод обьекта.
Ответить с цитированием
  #3 (permalink)  
Старый 05.09.2018, 10:12
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,733

У вас в коде для выборки DOM-элементов используется как jq, так и нативный js. Если используете jq, то используйте его по максимуму.
Также в коде часто из dom дергаются одни и те же элементы, не лучше ли сохранить на них ссылку?

Ниже что-то нелепое.
В первой строке вы уже изменили контент блока, во второй вы снова достаете из dom этот же блок и снова изменяете его контент на тот, что у него уже установлен.
const cont = document.getElementById('cont').innerHTML = 'Please wait...';
document.getElementById('cont').innerHTML = cont;
Ответить с цитированием
  #4 (permalink)  
Старый 05.09.2018, 11:33
Аватар для madeas
Профессор
Отправить личное сообщение для madeas Посмотреть профиль Найти все сообщения от madeas
 
Регистрация: 13.04.2018
Сообщений: 232

рони,
Что-то сложновато) Сделал иначе, но это явно не оно...
Пока не совсем понял принцип работы с объектами.

Пример из учебника:
var user = {
  name: 'Василий'
};

user.sayHi = function() {
  alert('Привет!');
};

user.sayHi();


Мы создаем переменную, в ней задаем объект, затем обращаемся к этой переменной, чтобы создать функцию и затем присваиваем метод, который выводим в конце. Вроде бы, ничего не упустил.
Вопросы:
1. Какой смысл этого обращения, если в алерте все равно только "привет"?
2. Наверное глупый вопрос. Если я пишу console.log - я знаю, что она выводится в консоль, с alert тоже все ясно. Куда выводится этот метод? Или как он работает...

Последний раз редактировалось madeas, 05.09.2018 в 11:40.
Ответить с цитированием
  #5 (permalink)  
Старый 05.09.2018, 11:44
Аватар для madeas
Профессор
Отправить личное сообщение для madeas Посмотреть профиль Найти все сообщения от madeas
 
Регистрация: 13.04.2018
Сообщений: 232

Сообщение от Nexus Посмотреть сообщение
У вас в коде для выборки DOM-элементов используется как jq, так и нативный js. Если используете jq, то используйте его по максимуму.
Я не сторонник лишнего кода и источников. Тем более, что владею jq не в полном объеме. JQ использовал в примере только для кружочка-курсора)) Просто пока не знаю как реализовать на чистом js. Сделал бы иначе.

Сообщение от Nexus Посмотреть сообщение
Также в коде часто из dom дергаются одни и те же элементы, не лучше ли сохранить на них ссылку?
Это как? Обращение идет постепенно, при создании новых действий с элементами. Если я пропишу все сразу, могу запутаться)

Сообщение от Nexus Посмотреть сообщение
Ниже что-то нелепое.
В первой строке вы уже изменили контент блока, во второй вы снова достаете из dom этот же блок и снова изменяете его контент на тот, что у него уже установлен.
const cont = document.getElementById('cont').innerHTML = 'Please wait...';
document.getElementById('cont').innerHTML = cont;
Согласен, проглядел) Просто, в ходе работы над 4 и 6 этапом, изначально функция была записана в html в самой кнопке. Когда решил переписать все в js, при переносе пропустил.

И еще, подскажите. При создании всплывающего окна, хотел сделать несколько вариантов ответа, например: hello == 'нет' || 'Нет' || 'ytn' и для других тоже, но когда прописываю несколько, работа окна сбивается.

Последний раз редактировалось madeas, 05.09.2018 в 11:50.
Ответить с цитированием
  #6 (permalink)  
Старый 05.09.2018, 11:58
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,733

Сообщение от madeas
Просто пока не знаю как реализовать на чистом js. Сделал бы иначе.
http://jsfiddle.net/07vqk1ms/46/

Сообщение от madeas
хотел сделать несколько вариантов ответа, например: hello == 'нет' || 'Нет' || 'ytn'
hello=hello.toString().toLowerCase().trim();
if(['нет','ytn','no','etc.'].indexOf(hello)>=0)
  alert('Выбран один из вариантов ответа');
Ответить с цитированием
  #7 (permalink)  
Старый 05.09.2018, 12:04
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

рони,
Сообщение от рони
сделайте тоже самое, но используя метод обьекта
JS или jQuery?
Ответить с цитированием
  #8 (permalink)  
Старый 05.09.2018, 13:12
Аватар для madeas
Профессор
Отправить личное сообщение для madeas Посмотреть профиль Найти все сообщения от madeas
 
Регистрация: 13.04.2018
Сообщений: 232

Nexus,
переделал под js все что было на jq, а вот на счет сохранения ссылок и нескольких вариантов для ответа нет. Подскажите, где об этом можно почитать.
Dilettante_Pro,
лучше на js конечно, не хочется лишний раз прибегать к jq

Последний раз редактировалось madeas, 05.09.2018 в 13:20.
Ответить с цитированием
  #9 (permalink)  
Старый 05.09.2018, 13:22
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,733

Сообщение от madeas
а вот на счет сохранения ссылок и нескольких вариантов для ответа нет.
Вы уже используете ссылки на элементы dom, см. свои строки 6,19,24.
Чтобы каждый раз не искать элементы в дереве их можно сохранить в переменную и работать с ней.

По поводу нескольких вариантов ответа см. комментарий №6.
Ответить с цитированием
  #10 (permalink)  
Старый 05.09.2018, 13:36
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Сообщение от madeas
лучше на js конечно, не хочется лишний раз прибегать к jq
Если на jQuery - то в вашем примере есть пример (извините за тавтологию) использования метода объекта для назначения стилей
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Эффективное изучение JavaScript _Alex9_ Общие вопросы Javascript 1 02.11.2015 08:53
Эффективное изучение регулярных выражений JavaScript _Alex9_ Общие вопросы Javascript 4 22.08.2015 19:57
Интерпретатор Java на JS kobezzza Оффтопик 24 11.10.2012 18:32
Последние книги по JavaScript! monolithed Учебные материалы 7 26.10.2010 19:40
Выдвет ошибку JavaScript Ромио Opera, Safari и др. 4 21.10.2010 20:34