Переменные. Математические операции.
Фронтенд разработка на языке JavaScript. -> Ввод данных. Арифметика.
Переменные. Математические операции.
Программа Hello World.
Создаем html страницу index.html в новой папке.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Заголовок</title>
</head>
<body>
<script>
alert('Hello world!')
</script>
</body>
</html>
Запускаем в браузере.
Принимаем данные от пользователя, присваиваем их переменной и выводим на экран.
var something = prompt('Вводи что нибудь')
alert(something)
Присваивание.
x=y=z=1
При цепочном присваивание вначале присваивается z=1 и потом значение 1 выталкивается влево и присваевается переменной y и далее по цепочке.
Операторы и операнды.
Оператор - специальный символ, обозначающий то или иное вычисление. Это конструкция языка не имеет возвращаемого значения.
Операнд - то над чем работает оператор (значения)
Операция - это то, что имеет возвращаемое значение.
Таким образом присваивание это и оператор и операция одновременно!
Арифметические операторы.
Сложение x + y
Вычитание x – y
Умножение x * y
Деление x / y
Остаток от деления x%y
Возведение в степень x**y
Инверсия (смена знака) -x
Инкремент (увеличение на 1) x++ или ++x
Декремент (уменьшение на 1) x– или –x
При опрерациях учитывается приоритет и работают скобочки.
Операции отношений (сравнение).
Не строгое равно ==
Строгое равно ===
При строгом сравнении учитывается и тип переменной.
Поэтому при сравнении строки и числа например
2 === '2'
Возвратиться false, хотя при не строгом сравнении
2 == '2'
Вернет true
Больше >
Меньше <
Больше или равно >=
Меньше или равно <=
Логические операторы.
Применяются в основном для комбинирования нескольких условий.
Логическое И
age > 10 && age < 30
login=="user" && password=="MySecret"
Логическое ИЛИ
age == 10 || age == 12
Комбинация.
(login=="user" || email=="user@itstep.org") && password=="MySecret"
Логическая инверсия.
Оператор “!”
Меняет результат операнда на противоположный.
!(profession == ‘banker’)
Инверсия - это самый простой вид битовых операций, полный их перечень изучает раздел дискретной математики.
При инверсии тупо меняются все биты (0 или 1) на противоположные.
Битовые операции/операторы.
Применяются крайне редко ради экономии памяти, повышения быстродействия и в криптографии.
Битовое и - &
Битовое исключающее ИЛИ - ^
Битовое ИЛИ - |
Оператор typeof
Определяет тип переменной.
«typeof 2» даст результат «number»
Название типа является строковой величиной и ее можно сравнивать.
typeof 2 === "number"
Любая неопределенная переменная имеет тип «undefined» и обращение к любому имени не должно приводить к ошибке, даже если это имя нигде ранее не определялось
console.log(typeof s); // вернет undefined
Именно поэтому не возникает ошибок в момент присвоения переменных
x = 1
т.к. переменная будет автоматически создана
Однако это вызовет ошибку
console.log(s);
Потому что ошибке приводит обращение к значению неопределенной переменной — так называемая попытка ее чтения (операцией console.log(x);).
Диалоговые окна.
alert - Окно сообщений.
prompt - Окно ввода сообщения. Возвращает то значение, которое вводит пользователь.
confirm - Окно подтверждения действия. Возвращает true или false
Все эти окна модальные, т.е. пока пользователь не отреагирует, браузер блокирует страницу.
Примечание. Окно alert возвращает значение undefined. Поэтому мы его и видем в консоле
Унарный опрератор + часто используется к приветению типа к числовому.
x = +prompt("Input x=")
Понятие программного объекта.
Объект - это программная сущьность (существо), которое обладает свойствами и методами.
Получение свойства.
object.prpperty_name
Вызов метода.
object.do_something(with_something)
Модуль Math
Math - это встроекнный в язык обьект со своими свойствами и методами.
Основные свойства.
Math.PI - число пи.
Math.E - основа натуральных логорифмов.
Основные методы.
Тригонометричные функции sin(), cos(), tan(), asin(), acos(), atan(), atan2()
Math.abs(x) - модуль числа.
Math.floor(x) - округляет x до целого большего.
Math.ceil(x), Math.round(x) - округляет x до целого большего.
Math.pow(x, y) - возводит в степень.
Math.random() - случайное число от 0 до 1.
Фронтенд разработка на языке JavaScript. -> Домашнее задание.
Домашнее задание.
Задание 1:
Запросить пользователя ввести сумму покупки и сохранить ее в переменной x.
Если она превышает 1000, уменьшить ее на скидку в 10%.
Результат вывести на экран.
Задание 2.
В переменной «х» хранится некоторое число. Необходимо проверить его четность и результат сохранить в переменной «parity».
Задание 3.
Вывести случайно число от 1 до 10.
Задание 4.
Сформировать строку, начиная с введенного пользователем значения переменной «х» и заканчивая значением «5». Но значение, вводимое пользователем, должно быть в диапазоне 1 - 5. Использовать оператор switch.
Фронтенд разработка на языке JavaScript. -> Домашнее задание. Решение.
Домашнее задание. Решение.
1.Запросите у пользователя его имя и выведите в ответ: «Привет, его имя!».
<script>
var Name = prompt('input your name')
alert('Hello, '+Name)
</script>
2.Запросите у пользователя год его рождения, посчитайте, сколько ему лет и выведите результат. Текущий год укажите в коде как константу.
<script>
const Year = prompt('input the year of your Birth Date')
alert(2020-Year)
</script>
3.Запросите у пользователя длину стороны квадрата и выведите периметр такого квадрата.
<script>
var side=prompt('input A side of the square')
alert(side*4)
</script>
4.Запросите у пользователя радиус окружности и выведите площадь такой окружности.
<script>
var radius = prompt('input radius of the circle')
alert(Math.PI*Math.pow(radius,2))
</script>
5.Запросите у пользователя расстояние в км между двумя городами и за сколько часов он хочет добраться. Посчитайте скорость, с которой необходимо двигаться, чтобы успеть вовремя.
<script>
var Time=prompt('input Time in hours')
var Dist=prompt('input distance in km')
alert(Dist/Time +' km/h')
</script>
6.Реализуйте конвертор валют. Пользователь вводит долла- ры, программа переводит в евро. Курс валюты храните в константе.
<script>
const kurs = 0.84
var Dollars =prompt('input summ in dollars')
alert((Dollars*kurs).toFixed(2) +' Euro')
</script>
7.Пользователь указывает объем флешки в Гб. Программа должна посчитать сколько файлов размером в 820 Мб по- мещается на флешку.
<script>
var Vol=prompt('input volume')
var numb = Math.floor((Vol*1024)/820)
alert(numb)
</script>
8.Пользователь вводит сумму денег в кошельке и цену одной шоколадки. Программа выводит сколько шоколадок может купить пользователь и сколько сдачи у него останется. Для решения задачи вам понадобится оператор % (остаток от деления).
<script>
var pocket=prompt('input amount of money in your pocket')
var choc=prompt('input price of the chocolate')
var buyAble=(pocket/choc)-(pocket/choc)%1
var left =pocket-buyAble*choc
alert('number of chocolates:'+buyAble)
alert('left in pocket:'+left)
</script>
9.Запросите у пользователя трехзначное число и выведите его задом наперед.
number.split("").reverse().join("");
a = number % 10 // 6
b = Math.floor( ( number % 100 ) / 10 ); //5
c = Math.floor( ( number % 1000 ) / 100 ); // 4
alert( `${a}${b}${c}` );