Занятие 1

@vvscode

disclamer

  • это нужно ВАМ
  • умеете читать
  • можете объяснить, как пройти в библиотеку
  • закон сохранения и превращения энергии
  • HTML/CSS
  • Про вопросы
  • Зачем мне этот курс? Зачем я сюда пришел?
  • Как я пойму, что курс был для меня полезен?
  • Кто я? Работа? Опыт?
  • ОС?
  • Что такое переменная?
  • Виды циклов?
  • Что такое рекурсия?

Как проходит курс

Орг вопросы

Вопросы?

На кой нужен JS?

  • Интерактивные страницы
  • Мобильные приложения
  • Десктопные приложения
  • Серверные приложения
  • Автоматизировация
  • Утилиты и скрипты командной строки

С чем работает разрабочик:

  • Язык (js)
  • API (application program interface)

Про версии языка и API

Вопросы?

Как взаимодействовать с пользователем?

Спросить пользователя:

// Спросить подтверждение
var result1 = confirm('Are you sure?');

// Запросить строчку от пользователя
var result2 = prompt('What is your name?', 'John Doe');

// Прочитать данные из поля ввода
var result3 = document.querySelector('input.someClass').value;
                          
Сообщить пользователю:

// Модальное окно
alert('Hi');

// Сообщение в консоль
console.log('Hello');
  
// Вывести прямо в документ
document.write('Good morning');

// Вывести в блок на странице
document.querySelector('.someCSS-selector').innerHTML = '

Hola

';

              // Цикл?
              
              // Условное выполнение?

              // Вызов функции?
        

                // Цикл?
                for(var i = 0; i < 10; i++) { console.log(i); }
                
                // Условное выполнение?
                var a = 1;
                if(a === 2) { console.log('a !== 1'); } 
  
                // Вызов функции?
                log(a);
          

function log(a) { console.log(a); }
/*
Напишите программу, которая выводит на экран числа от 1 до 100. 
При этом вместо чисел, кратных трем, программа должна выводить слово «Fizz», 
а вместо чисел, кратных пяти — слово «Buzz». 
Если число кратно и 3, и 5, то программа должна выводить слово «FizzBuzz»
*/
log(1);
log(2);
log('Fizz');
log(4);
log('Buzz');
        
http://bit.ly/jsFizzBuzz

Это задача с собеседований!

Представление о тестировании


function sum(a, b) { return a + b; }

function sum(a, b) { return a + b; }

// проверки
console.log('1+2', sum(1, 2) === 3);
console.log('-1+2', sum(-1, 2) === 1);
console.log('0+0', sum(0, ) === 0);
Вопросы?

Что нужно для учебы

  • Chrome
  • Node.js
  • Git
  • Slack
  • TeamViewer
  • Вопросы и ответы
Редактор / IDE
  • Подсветка синтаксиса
  • Автодополнение
  • Форматирование
  • Подсветка ошибок
Atom / VSCode / Sublime / WebStorm
Anki ( телефон + компьютер )
  • Новые слова
  • API
  • Определения
  • Вопросы и ответы

Как проходит курс

  • Домашнее задание
  • Ответы на вопросы
  • Вопросы
  • Разбор теории / обсуждение задачи
Вопросы?