Возвращаемые значения.
Поток управления
Условное выполнение.
циклы while и do .
для циклов.
1.Возвращаемые значения
Отображение диалогового окна или вывод текста на экран является побочным эффектом. Многие функции полезны из-за побочных эффектов, которые они производят. Функции также могут создавать значения, и в этом случае им не нужно иметь побочный эффект, чтобы быть полезными.
console.log(Math.max(2, 4));
// → 4
Math.max принимает любое количество числовых аргументов и возвращает наибольшее из них.
пример:-
Используйте оператор return, чтобы отобразить имя «Джон» в элементе ‹p›:
function myFunction(name) {
return "Hello" + name;
}
document.getElementById("demo").innerHTML = myFunction("John");
2.Управление потоком.
Это пошаговое выполнение оператора в программе сверху вниз.
let theNumber = Number(prompt("Выберите число"));
console.log("Ваше число является квадратным корнем из " +
theNumber * theNumber);
Например, представьте себе сценарий, используемый для проверки пользовательских данных из формы на веб-странице. Скрипт отправляет валидированные данные, но если пользователь, скажем, оставляет обязательное поле пустым, скрипт предлагает его заполнить. Для этого скрипт использует условную структуру или if…else, чтобы выполнялся другой код в зависимости от того, заполнена форма или нет:
если (поле==пусто) {
promptUser();
} еще { submitForm(); }
3.Условное выполнение
Условное выполнение создается с помощью ключевого слова if в JavaScript. В простом случае мы хотим, чтобы некоторый код выполнялся тогда и только тогда, когда выполняется определенное условие. С этой модификацией, если вы вводите «попугай», вывод не отображается.
let theNumber = Number(prompt("Выберите число"));
if (!Number.isNaN(theNumber)) {
console.log("Ваше число является квадратным корнем из " +
Число * Число);
}
Ключевое слово if выполняет или пропускает оператор в зависимости от значения логического выражения.
Если у вас есть более двух путей на выбор, вы можете «сцепить» несколько пар if/else вместе. Вот пример:
let num = Number(prompt("Выберите число"));
if (число ‹ 10) {
console.log («Малый»);
} else if (число ‹ 100) {
console.log («Средний»);< br /> } else {
console.log («Большой»);
}
Программа сначала проверит, меньше ли num 10. Если да, она выбирает эту ветвь, показывает «Маленький» и готово. Если это не так, он берет ветвь else, которая сама содержит вторую ветвь if. Если выполняется второе условие (‹ 100), это означает, что число находится в диапазоне от 10 до 100, и отображается «Средний». Если это не так, выбирается вторая и последняя ветвь else.
4.в то время как и делать циклы
Это помогает уменьшить повторение за счет минимизации количества кодов. Например, печать 0–12.
console.log(0);
console.log(2);
console.log(4);
console.log(6);
console.log (8);
console.log(10);
console.log(12);
Циклический поток управления позволяет нам вернуться к некоторому месту в программе, где мы были раньше, и повторить его с нашим текущим состоянием программы. Если мы объединим это с привязкой, которая считается, мы можем сделать что-то вроде этого:
let number = 0;
while (число ‹= 12) {
console.log(number);
number = number + 2;
Оператор, начинающийся с ключевого слова while, создает цикл. За словом while следует выражение в круглых скобках, а затем оператор, очень похожий на if.
5.для петель
while, обычно с тестовым выражением, которое проверяет, достиг ли счетчик своего конечного значения. В конце тела цикла счетчик обновляется для отслеживания хода выполнения.
Цикл For обеспечивает более короткую и полную форму
for (пусть число = 0; число ‹= 12; число = число + 2) {
console.log(число);
}
// → 0 // → 2 // … и так далее
Скобки после ключевого слова for должны содержать две точки с запятой. Часть перед первой точкой с запятой инициализирует цикл, обычно определяя привязку. Вторая часть — это выражение, которое проверяет, должен ли цикл продолжаться. Последняя часть обновляет состояние цикла после каждой итерации. В большинстве случаев это короче и понятнее конструкции while.
Функции
1.Определение функции.
2.Привязки и области действия.
3.Функции как значения .
4.Обозначение объявления.
5.Функции стрелок.
Функции — это фрагменты кода, выполняющие одно или несколько действий.
1.Определение функции
Является обычной привязкой, где значением привязки является функция
const square = function(x) {
return x * x;
};
console.log(square(12));
// → 144
Этот код определяет квадрат для ссылки на функцию, которая производит квадрат заданного числа:
Выполнение функции называется ее вызовом, вызовом или применением.
функциональный квадрат (число) {
вернуть число * число;
}
Разным функциям может потребоваться разное количество или разные типы аргументов. Подобно функциональному выражению ниже
константный квадрат = функция(число) {
возвращает число * число } var x = square(4) // x получает значение 16
Функциональные выражения удобны при передаче функции в качестве аргумента другой функции.
function map(f, a) {
let result = []; // Создать новый массив
let i; // Объявить переменную
for (i = 0; i != a.length; i++) result[i] = f(a[i]); вернуть результат;
2.Привязки и области видимости
Связывание относится к сопоставлению одной вещи с другой, например.
пусть а=10;
Каждая привязка имеет область действия, которая является частью программы, в которой привязка видна.
Например
{
let a = 10;//Это может быть доступ только внутри этого блока
}
alert(a)//это не здесь
Функция console.log
Вывод console.log будет показан после примера, а не в консоли JavaScript браузера.
let x = 30;
console.log("значение x равно", x);
// → значение x равно 30
Для привязки, определенной вне функции или блока, ее областью действия является вся программа. Везде, где вы хотите, они называются глобальными.
Привязки, объявленные с помощью let и const, являются локальными для блока, в котором они объявлены.
const two_num = function(n){
console.log(2*n);
}
let n = 10;
console.log(twice_num(2) );//20
console.log(n);//10
Каждая локальная область может видеть все другие локальные области, которые ее содержат, и все области могут видеть глобальную область. Этот подход к привязке называется лексической областью действия.
3.Функции как ценности
Привязка функции обычно просто действует как имя для определенной части программы. Такая привязка определяется один раз и никогда не изменяется.
Значение функции может делать все то же, что и другие значения — вы можете использовать его в произвольных выражениях, а не просто вызывать.
let launchMissiles = function() {
ракетыSystem.launch("сейчас");
};
if (safeMode) {
launchMissiles = function() {/* ничего не делать */};
4. Обозначение декларации
Существует немного более короткий способ создания привязки функции. Когда ключевое слово function используется в начале оператора, оно работает по-другому.
function square(x) {
return x * x;
}
Это объявление функции. Оператор определяет квадрат привязки и указывает его на заданную функцию. Это немного проще написать и не требует точки с запятой после функции.
5. Стрелочные функции
Вместо ключевого слова function используется стрелка (=›), состоящая из знака равенства и символа «больше» (не путать с оператором «больше или равно», который записывается ›=).
const power = (base, exponent) =› {
let result = 1;
for (let count = 0; count ‹ exponent; count++) {
result *= base;
}
вернуть результат;
};
Стрелка идет после списка параметров, за ней следует тело функции. Он выражает что-то вроде «эти входные данные (параметры) производят этот результат (тело)». Когда есть только одно имя параметра, вы можете опустить круглые скобки вокруг списка параметров.
Глава 4:
Структуры данных: объекты и массивы
1.Объекты
Объект — это группа данных, которая хранится в виде серии пар «имя-значение», инкапсулированных в одну сущность.
Пример:
Boolean — (если определено с новым ключевым словом)
let isReading = true; // да, читаю
let isSleeping = false; // нет, я не сплю
Число – (если определено с новым ключевым словом)
пусть а = 25; // целое
let b = 80.5; // число с плавающей запятой
let c = 4.25e+6; // экспоненциальное представление, такое же, как 4.25e6 или 4250000
let d = 4.25e-6; // экспоненциальное представление, такое же, как 0,00000425
Строка
let a = ‘Привет!’; // в одинарных кавычках
let b = «Привет!»; // использование двойных кавычек
Массив
let colors = ["Красный", "Желтый", "Зеленый", "Оранжевый"];
let citys = ["Лондон", "Париж", "Нью-Йорк"];
предупреждение (цвета [0]); // Вывод: Red
alert(cities[2]); // Вывод: Нью-Йорк
Функции
let Greeting = function(){
return «Hello World!»;
}
// Проверяем тип переменной приветствия
alert(typeof приветствие) // Вывод: function
оповещение(приветствие()); // Вывод: Привет, мир!
Если не определено с новым ключевым словом, оно становится примитивным значением (не имеет свойств и значений).
Различные способы создания объекта в js
- Использование конструкции object();
let d=new object();
- Использование метода object.create();
let d=object.create(null);
- Использование конструктора объектов — это уменьшает ненужное повторение с помощью ключевого слова this.
let obj=function(name);
{
this.name=name;
let c=new obj("hello");
};
- Использование конструктора функций + прототип.
Функция my obj() {};
My obj.prototype.name="hello";
let k=new myobj();
2. Циклы массива
В функции tableFor есть такой цикл:
for (let i = 0; i ‹ JOURNAL.length; i++) {
let entry = JOURNAL[i];
// Делаем что-то с записью
Массивы JavaScript используются для хранения нескольких значений в одной переменной.
Массив — это специальная переменная, которая может содержать более одного значения одновременно.
Если у вас есть список элементов (например, список названий автомобилей), хранение автомобилей в отдельных переменных может выглядеть так:
let car1 = «Saab»;
let car2 = «Volvo»;
let car3 = «BMW»;
Создание массива
Использование литерала массива — это самый простой способ создать массив JavaScript.
Синтаксис:
var имя_массива = [элемент1, элемент2, …];
Доступ к элементам массива
Вы получаете доступ к элементу массива, обращаясь к номеру индекса и начиная с индекса (0).
let cars = ["Saab", "Volvo", "BMW"];
document.getElementById("demo").innerHTML = cars[0];
Доступ к полному массиву
С помощью JavaScript доступ к полному массиву можно получить, обратившись к имени массива:
Пример
let cars = ["Saab", "Volvo", "BMW"];
document.getElementById("demo").innerHTML = cars;
время — это то, что встречается часто, и для этого вы должны запустить счетчик по длине массива и выбрать каждый элемент по очереди.
В современном JavaScript есть более простой способ написания таких циклов.
for (разрешить запись ЖУРНАЛА) {
console.log(`${entry.events.length} events.`);