Что такое параметр функции
Перейти к содержимому

Что такое параметр функции

  • автор:

Параметры и аргументы процедуры (Visual Basic)

В большинстве случаев процедура нуждается в некоторых обстоятельствах, в которых она была вызвана. Процедура, выполняющая повторяющиеся или общие задачи, использует разные сведения для каждого вызова. Эта информация состоит из переменных, констант и выражений, которые передаются в процедуру при вызове.

Параметр представляет значение, которое предполагается, что процедура будет предоставляться при вызове. Объявление процедуры определяет его параметры.

Процедуру можно определить без параметров, одного параметра или нескольких. Часть определения процедуры, указывающая параметры, называется списком параметров.

Аргумент представляет значение, которое вы предоставляете параметру процедуры при вызове процедуры. Вызывающий код предоставляет аргументы при вызове процедуры. Часть вызова процедуры, указывающая аргументы, называется списком аргументов.

На следующем рисунке показан код, вызывающий процедуру safeSquareRoot из двух разных мест. Первый вызов передает значение переменной x (4.0) параметру number , а возвращаемое значение в root (2.0) назначается переменной y . Второй вызов передает литеральное значение 9.0 number и назначает возвращаемое значение (3.0) переменной z .

Тип данных параметра

Тип данных для параметра определяется с помощью предложения в его объявлении As . Например, следующая функция принимает строку и целое число.

Function appointment(ByVal day As String, ByVal hour As Integer) As String ' Insert code to return any appointment for the given day and time. Return "appointment" End Function 

Если параметр типа проверка ing (Option Strict Statement) является Off, As необязательным, за исключением того, что если один параметр использует его, все параметры должны использовать его. Если тип проверка ing, On As предложение требуется для всех параметров процедуры.

Если вызывающий код ожидает предоставления аргумента с типом данных, отличным от типа его соответствующего параметра, например Byte String параметра, он должен выполнить одно из следующих действий:

  • Укажите только аргументы с типами данных, расширяющими тип данных параметров;
  • Задайте для Option Strict Off разрешения неявных сужающих преобразований; или
  • Используйте ключевое слово преобразования для явного преобразования типа данных.

Параметры типа

Универсальная процедура также определяет один или несколько параметров типа в дополнение к обычным параметрам. Универсальная процедура позволяет вызывающему коду передавать различные типы данных каждый раз при вызове процедуры, поэтому он может адаптировать типы данных к требованиям каждого отдельного вызова. См. раздел Generic Procedures in Visual Basic.

См. также

  • Процедуры
  • Подпрограммы
  • Функции
  • Процедуры свойств
  • Процедуры операторов
  • Практическое руководство. Определение параметра для процедуры
  • Практическое руководство. Передача аргументов в процедуру
  • Передача аргументов по значению и по ссылке
  • Перегрузка процедур
  • Преобразование типов в Visual Basic

Совместная работа с нами на GitHub

Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.

Функции с параметрами

Для нормальной работы функции нужны исходные данные, и получить их она должна, согласно принципам структурного программирования, исключительно из своих параметров.

Обобщенно определение функции с параметрами выглядит так:

[спецификатор класса памяти] [спецификатор типа]
имя функции([список формальных параметров]

где [список-формальных-параметров] — это перечисленные через запятую формальные параметры с указанием их типа.

Параметр функции — это принятый функцией аргумент, значение, переданное из вызывающего кода.

  • фактический параметр — аргумент, передаваемый в функцию при ее вызове;
  • формальный параметр — аргумент, указываемый при объявлении или определении функции.

Пример функции с одним параметром

// Объявление функции. int a — формальный параметр, имя параметра может отсутствовать.
int myfunction(int a);

// Определение функции. int b — формальный параметр, имя параметра может не совпадать с указанным при объявлении функции.
int myfunction(int b)
return 0;
>

int main()
int c=0;
myfunction(c); // Вызов функции. c — фактический параметр.
return 0;
>

Передача параметра по значению

Параметры в Си передаются по значению, то есть вызывающая функция копирует в память, доступную вызываемой функции (сегмент стека), непосредственное фактическое значение.

Изменение копии переменной, соответственно, оригинал не затрагивает!

Передача параметра по адресу

Если необходимо именно изменить переменную из внешней, по отношению к вызываемой функции, области видимости, можно копировать адрес переменной, подлежащей изменению. Соответственно при вызове функции g(&x) приходится использовать операцию взятия адреса.

Можно заметить, что передача параметра по адресу является частным случаем передачи по значению: передаваемым значением является адрес, по которому можно найти другое значение — значение переменной x.

Что такое параметр функции

Через параметры в функцию можно передать различные значения. Параметры перечисляются после имени функции через запятую в скобках:

(тип_параметра1 имя_параметра1, тип_параметра2 имя_параметра2, . тип_параметраN имя_параметраN)

Для каждого параметра указывается его тип и имя.

Например, определим и вызовем функцию, которая выводит на консоль имя и возраст человека:

#include void print(std::string name, unsigned age) < std::cout int main() < print("Tom", 38); // Name: Tom Age: 38 >

При запуске программы мы получим следующий консольный вывод:

Name: Tom Age: 38

Функция print() принимает два параметра и выводит на консоль их значения. Первый параметр называется name и представляет тип std::string . А второй параметр называется age и представляет тип unsigned int . И при вызове функции для этих параметров необходимо передать значения

print("Tom", 38);

Значения, передаваемые параметрам функции при ее вызове, называются аргументами. В данном случае в качестве аргументов передаются строковый и целочисленный литералы. При этом аргументы передаются по позиции, то есть первый аргумент (строка «Tom») передается первому параметру (параметру name), второй аргумент (число 38) — второму параметру (параметру age) и так далее.

При этом аргументы должны соответствовать параметрам по типу или допускать неявно преобразование в тип параметра. Так, в примере выше параметру name передается строковый литерал, который автоматически преобразуется в тип std::string .

Подобным образом можно передавать в параметрам не только литералы, но и, например, значения переменных и констант:

#include void print(std::string name, unsigned age) < std::cout int main() < const std::string userName ; unsigned userAge ; print(userName, userAge); // Name: Bob Age: 42 >

При вызове функции здесь параметр name получит значение константы userName, а параметр age — значение переменной userAge.

При использовании прототипа функции прототип после имени функции в скобках должен содержать типы параметров:

#include void print(std::string, unsigned); // прототип функции print int main() < print("Sam", 28); // Name: Sam Age: 28 >void print(std::string name, unsigned age)

Опционально в прототипе можно указывать имена параметров:

void print(std::string name, unsigned age); // прототип

Аргументы по умолчанию

Функция может принимать аргументы по умолчанию, то есть некоторые значения, которые функция использует, если при вызове для параметров явным образом не передается значение:

#include void print(std::string name, unsigned age = 18) < std::cout int main() < print("Sam"); // Name: Sam Age: 18 print("Tom", 22); // Name: Tom Age: 22 >

Для установки значения по умолчанию параметру присваивается это значение unsigned age = 18 . И если для второго параметра не будет передано значение, то он будет использовать значение по умолчанию. Консольный вывод программы:

Name: Sam Age: 18 Name: Tom Age: 22

При объявлении прототипа подобной функции он тоже может содержать значение по умолчанию для параметра. И в этом случае мы можем не определять в функции значение по умолчанию для параметра — оно будет браться из прототипа:

#include void print(std::string, unsigned = 18); // прототип int main() < print("Sam"); // Name: Sam Age: 18 print("Tom", 23); // Name: Tom Age: 23 >void print(std::string name, unsigned age)

При определении необязательных параметров стоит учитывать, что они должны идти после обязательных. Например, назначим параметру name тоже значение по умолчанию:

#include void print(std::string = «Undefined», unsigned = 18); // прототип int main() < print(); // Name: Undefined Age: 18 print("Sam"); // Name: Sam Age: 18 print("Tom", 23); // Name: Tom Age: 23 >void print(std::string name, unsigned age)

Поскольку здесь параметр name определен как необязательный, то следующий за ним параметр age тоже должен иметь значение по умолчанию.

Автоматическое выведение типа параметров

Стоит отметить, что начиная со стандарта C++20 можно вместо конкретного типа для параметров указывать ключевое слово auto . Тогда тип параметров будет выводиться автоматически на этапе компиляции на основе передаваемых в функцию аргументов:

#include void sum(auto, auto); // прототип функции sum int main() < const int n1; const int n2; sum(n1, n2); // 3 + 4 = 7 const double d1; const double d2; sum(d1, d2);; // 3.3 + 4.4 = 7.7 > void sum(auto a, auto b)

  • Глава 1. Введение в С++
    • Язык программирования С++
    • Первая программа на Windows. Компилятор g++
    • Первая программа на Windows. Компилятор Clang
    • Первая программа на Windows. Компилятор Microsoft Visual C++
    • Первая программа на Linux. Компилятор g++
    • Первая программа на MacOS. Компилятор Clang
    • Настройка параметров компиляции
    • Локализация и кириллица в консоли
    • Структура программы
    • Переменные
    • Типы данных
    • Константы
    • Ввод и вывод в консоли
    • using. Подключение пространств имен и определение псевдонимов
    • Арифметические операции
    • Статическая типизация и преобразования типов
    • Поразрядные операции
    • Операции присваивания
    • Условные выражения
    • Конструкция if-else и тернарный оператор
    • Конструкция switch-case
    • Циклы
    • Ссылки
    • Массивы
    • Многомерные массивы
    • Массивы символов
    • Введение в строки
    • Что такое указатели
    • Операции с указателями
    • Арифметика указателей
    • Константы и указатели
    • Указатели и массивы
    • Определение и объявление функций
    • Область видимости объектов
    • Параметры функции
    • Передача аргументов по значению и по ссылке
    • Константные параметры
    • Оператор return и возвращение результата
    • Указатели в параметрах функции
    • Массивы в параметрах функции
    • Параметры функции main
    • Возвращение указателей и ссылок
    • Перегрузка функций
    • Рекурсивные функции
    • Рекурсия на примере быстрой сортировки
    • Указатели на функции
    • Указатели на функции как параметры
    • Тип функции
    • Указатель на функцию как возвращаемое значение
    • Разделение программы на файлы
    • Внешние объекты
    • Динамические объекты
    • Динамические массивы
    • unique_ptr
    • shared_ptr
    • Определение классов
    • Конструкторы и инициализация объектов
    • Управление доступом. Инкапсуляция
    • Объявление и определение функций класса
    • Конструктор копирования
    • Константные объекты и функции
    • Ключевое слово this
    • Дружественные функции и классы
    • Статические члены класса
    • Деструктор
    • Структуры
    • Перечисления
    • Наследование
    • Управление доступом в базовых и производных классах
    • Скрытие функционала базового класса
    • Множественное наследование
    • Виртуальные функции и их переопределение
    • Преобразование типов
    • Динамическое преобразование
    • Особенности динамического связывания
    • Чистые виртуальные функции и абстрактные классы
    • Перегрузка операторов
    • Операторы преобразования типов
    • Оператор индексирования
    • Переопределение оператора присваивания
    • Пространства имен
    • Вложенные классы
    • Обработка исключений
    • Вложенные try-catch
    • Создание своих типов исключений
    • Тип exception
    • Типы исключений
    • Шаблоны функций
    • Шаблон класса
    • Специализация шаблона класса
    • Наследование и шаблоны классов
    • Типы контейнеров
    • Вектор
    • Итераторы
    • Операции с векторами
    • Array
    • List
    • Forward_list
    • Deque
    • Стек std::stack
    • Очередь std::queue
    • Очередь приоритетов std::priority_queue
    • Множества
    • Словарь std::map
    • Span
    • Определение строк
    • Строки с поддержкой Unicode
    • Преобразование типов и строки
    • Сравнение строк
    • Получение подстроки и проверка начала и конца строки
    • Поиск подстроки
    • Изменение строки
    • Операции с символами
    • Программа подсчета слов
    • Тип std:string_view
    • rvalue
    • Конструктор перемещения
    • Оператор присваивания с перемещением
    • Роль noexcept при перемещении
    • Объекты функций
    • Лямбда-выражения
    • Захват внешних значений в лямбда-выражениях
    • Шаблон std::function<>
    • Минимальный и максимальный элементы
    • Поиск элементов
    • Копирование элементов
    • Удаление элементов и идиома Remove-Erase Idiom
    • Сортировка
    • Представления. Фильтрация
    • Проекция данных
    • Пропуск элементов. drop_view и drop_while_view
    • Извлечение диапазона элементов. take_view и take_while_view
    • Цепочки представлений
    • Оператор requires
    • Концепты
    • Выражение requires
    • Ограничения типа для auto
    • Базовые типы для работы с потоками
    • Файловые потоки. Открытие и закрытие
    • Чтение и запись текстовых файлов
    • Переопределение операторов ввода и вывода
    • Математические константы и операции
    • Форматирование строк и функция format
    • std::optional
    • Управление ресурсами. Идиома RAII
    • Идиома копирования и замены
    • Идиома Move-and-Swap
    • Первая программа в Visual Studio
    • Первая программа в Qt Creator

    Что такое параметр функции

    Функция в JavaScript может принимать параметры. Параметры представляют способ передачи в функцию данных. Параметры указываются в скобках после названия функции.

    Например, определим простейшую функцию, которая принимает один параметр:

    function print(message) < console.log(message); >print("Hello JavaScript"); print("Hello METANIT.COM"); print("Function in JavaScript");

    Функция print() принимает один параметр — message. Поэтому при вызове функции мы можем передать для него значение, например, некоторую строку:

    print("Hello JavaScript");

    Передаваемые параметрам значения еще называют аргументами.

    При этом в отличие от ряда других языков программирования мы в принципе можем не передавать значения параметрам. Например:

    function print(message) < console.log(message); >print();

    Если параметру не передается значение, тогда он будет иметь значение undefined .

    Если функция принимает несколько параметров, то они перечисляются через запятую:

    function sum(a, b) < const result = a + b; console.log(result); >sum(2, 6); // 8 sum(4, 5); // 9 sum(109, 11); // 120

    При вызове функции с несколькими параметрами значения передаются параметрам по позиции. То есть первое значение передается первому параметру, второе значение — второму и так далее. Например, в вызове:

    sum(2, 6);

    Число 2 передается параметру a , а число 6 — параметру b .

    Передача массива в качестве параметра и spread-оператор

    Какие-то связанные данные удобно держать в виде массива. И, возможно, у нас возникнет необходимость передать весь этот набор данных в функцию. В общем случае мы можем передавать массив в качестве параметра и внутри функции обращаться к его отдельным элементам:

    function printPerson(person) < console.log("Name:", person[0]); console.log("Age:", person[1]); console.log("Email:", person[2]); console.log("========================="); >const tom = ["Tom", 39, "tom@example.com"]; const bob = ["Bob", 43, "bob@example.com"]; printPerson(tom); printPerson(bob);

    В данном случае функция printPerson принимает массив, который, как предполагается, имеет три элемента. И внутри функции происходит обращение к этим элементам.

    Но рассмотрим другую ситуацию, когда функция принимает данные в виде отдельных параметров. И в этом случае удобнее использовать spread-оператор :

    function printPerson(username, age, email) < console.log("Name:", username); console.log("Age:", age); console.log("Email:", email); console.log("========================="); >const tom = ["Tom", 39, "tom@example.com"]; const bob = ["Bob", 43, "bob@example.com"]; printPerson(. tom); printPerson(. bob);

    Чтобы последовательно передать элементы массива параметрам функции перед именем массива указывается spread-оператор:

    printPerson(. tom);

    Это все равно, что если бы мы написали

    printPerson(tom[0], tom[1], tom[2]);

    только spread-оператор позволяет сделать передачу значений лаконичней.

    Необязательные параметры и значения по умолчанию

    Функция может принимать множество параметров, но при этом часть или все параметры могут быть необязательными. Если для параметров не передается значение, то по умолчанию они имеют значение «undefined». Однако иногда бывает необходимо, чтобы параметры обязательно имели какие-то значения, например, значения по умолчанию. До стандарта ES6 необходимо было проверять значения параметров на undefined:

    function sum(x, y) < if(y === undefined) y = 5; if(x === undefined) x = 8; const z = x + y; console.log(z); >sum(); // 13 sum(6); // 11 sum(6, 4) // 10

    Здесь функция sum() принимает два параметра. При вызове функции мы можем проверить их значения. При этом, вызывая функцию, необязательно передавать для этих параметров значения. Для проверки наличия значения параметров используется сравнение со значением undefined .

    Также мы можем напрямую определять для параметров значения по умолчанию:

    function sum(x = 8, y = 5) < const z = x + y; console.log(z); >sum(); // 13 sum(6); // 11 sum(6, 4) // 10

    Если параметрам x и y не передаются значения, то они получаются в качестве значений числа 5 и 10 соответствено. Такой способ более лаконичен и интуитивен, чем сравнение с undefined.

    При этом значение параметра по умолчанию может быть производным, представлять выражение:

    function sum(x = 8, y = 10 + x) < const z = x + y; console.log(z); >sum(); // 26 sum(6); // 22 sum(6, 4) // 10

    В данном случае значение параметра y зависит от значения x.

    Функции с произвольным количеством параметров

    JavaScript позволяет определять так называемые variadic function или функции с произвольным количеством параметров. Для этого можно использовать ряд инструментов.

    Объект arguments

    При необходимости мы можем получить все переданные параметры через доступный внутри функции объект arguments :

    function sum() < let result = 0; for(const n of arguments) result += n; console.log(result); >sum(6); // 6 sum(6, 4) // 10 sum(6, 4, 5) // 15

    При этом даже не важно, что при определении функции мы не указали никаких параметров, мы все равно можем их передать и получить их значения через arguments .

    Причем мы можем даже определить параметры явным образом:

    function sum(a, b, c) < console.log("a =", a); console.log("b =", b); console.log("c =", c); let result = 0; for(const n of arguments) result += n; console.log("result browser">a = 6 b = 4 c = 5 result = 23

    Хотя мы можем перебрать объект arguments как массив, тем не менее это не массив. Хотя мы можем получить его длину с помощью свойства length и обращаться к переданным в функцию аргументам, используя индекс:

    function sum(nums)< let result = 0; // результат функции if(arguments.length >=1) // если передан как минимум один параметр < result = result + arguments[0]; // обращаемся к первому параметру >if(arguments.length >=2) // если передано как минимум два параметра < result = result + arguments[1]; // обращаемся ко второму параметру >console.log("result b">. (rest-оператор) также можно передать переменное количество значений:

    function sum(. numbers) < let result = 0; for(const n of numbers) result += n; console.log(result); >sum(6, 4, 5) // 15

    В данном случае параметр . numbers указывает, что вместо него можно передать разное количество значений. В самой функции numbers фактически представляет массив переданных значений, которые мы можем получить. При этом несмотря на это, при вызове функции в нее передается не массив, а именно отдельные значения.

    Подобные rest-параметры можно комбинировать с обычными параметрами:

    function display(season, . temps) < console.log(season); for(index in temps)< console.log(temps[index]); >> display("Весна", -2, -3, 4, 2, 5); display("Лето", 20, 23, 31);

    Здесь первое значение, передаваемое в функцию, будет интерпретироваться как значение для параметра season, все остальные значения перейдут параметру temps.

    Весна -2 -3 4 2 5 Лето 20 23 31
    Массив как параметр

    Третий способ передачи неопределенного количества данных представляет передача их через параметр-массив. Хотя формально параметр у нас один (количество параметров определено), тем не менее количество конкретных данных в этом массиве неопределенно (как и в случае с массивом arguments):

    function sum(numbers) < let result = 0; for(const n of numbers) result += n; console.log("result brush:js;">function sum(x, y) < return x + y; >function subtract(x, y) < return x - y; >function operation(x, y, func) < const result = func(x, y); console.log(result); >console.log("Sum"); operation(10, 6, sum); // 16 console.log("Subtract"); operation(10, 6, subtract); // 4

    Функция operation принимает три параметра: x, y и func. func - представляет функцию, причем на момент определения operation не важно, что это будет за функция. Единственное, что известно, что функция func может принимать два параметра и возвращать значение, которое затем отображается в консоли браузера. Поэтому мы можем определить различные функции (например, функции sum и subtract в данном случае) и передавать их в вызов функции operation.

    • Глава 1. Введение в JavaScript
      • Что такое JavaScript
      • Первая программа на JavaScript
      • Выполнение кода javascript
      • Подключение внешнего файла JavaScript
      • Консоль браузера и console.log
      • Переменные и константы
      • Типы данных
      • Арифметические операции
      • Поразрядные операции
      • Условные выражения
      • Условные операторы ?: и ??
      • Преобразование данных
      • Введение в массивы
      • Условные конструкции
      • Циклы
      • Отладка и отладчик
      • Функции
      • Параметры функции
      • Результат функции
      • Стрелочные функции
      • Область видимости переменных
      • Замыкания
      • Функции IIFE
      • Рекурсивные функции
      • Переопределение функций
      • Hoisting
      • Передача параметров по значению и по ссылке
      • Объекты
      • Ключевое слово this
      • Вложенные объекты и массивы в объектах
      • Копирование и сравнение объектов
      • Проверка наличия и перебор методов и свойств
      • Объекты в функциях
      • Функции-конструкторы объектов
      • Расширение объектов. Прототипы
      • Функция как объект. Методы call и apply
      • Функция Object.create. Конфигурация свойств объектов
      • Наследование прототипов
      • Наследование прототипов конструкторов
      • Инкапсуляция свойств. Геттеры и сеттеры
      • Деструктуризация
      • Оператор ?.
      • Константные объекты. Запрет изменения объекта
      • Классы
      • Приватные поля и методы
      • Статические поля и методы
      • Свойства и методы доступа
      • Наследование
      • Создание массива и объект Array
      • Массивы и spread-оператор
      • Операции с массивами
      • Наследование массивов
      • Строки и объект String
      • Шаблоны строк
      • Объект RegExp. Регулярные выражения
      • Синтаксис регулярных выражений
      • Квантификаторы в регулярных выражениях
      • Поиск в строке
      • Группы в регулярных выражениях
      • Регулярные выражения в методах String
      • Конструкция try..catch..finally
      • Генерация ошибок и оператор throw
      • Типы ошибок
      • Обработка ошибок и стек вызова функций
      • Объект Date. Работа с датами
      • Объект Math. Математические операции
      • Объект Number
      • Символы
      • Proxy
      • Итераторы
      • Генераторы
      • Множества Set
      • Map
      • WeakSet
      • WeakMap
      • Введение в DOM
      • Свойства объекта document
      • Поиск элементов на веб-странице
      • Объект Node. Навигация по DOM
      • Элементы
      • Создание, добавление и удаление элементов
      • Управление атрибутами элементов
      • Управление стилем и классами элементов
      • Создание своего элемента HTML
      • Введение в обработку событий
      • Обработчики событий
      • Передача данных в обработчик события. Объект Event
      • Распространение событий
      • События мыши
      • События клавиатуры
      • Программный вызов событий
      • Определение своих событий
      • Формы и их элементы
      • Кнопки
      • Текстовые поля
      • Флажки и радиокнопки
      • Список select
      • Validation API. Валидация элементов формы
      • Управление валидацией форм
      • Browser Object Model и объект window
      • Диалоговые окна и поиск на странице
      • Открытие, закрытие и позиционирование окон
      • История браузера. History API
      • Объект location
      • Объект navigator. Получение информации о браузере
      • Таймеры
      • Работа с JSON
      • Работа с XML
      • Куки
      • Web Storage
      • Асинхронные функции и коллбеки
      • Введение в промисы
      • Получение результата операции в Promise
      • Обработка ошибок в Promise
      • Создание цепочек промисов
      • Функции Promise.all, Promise.allSettled, Promise.any и Promise.race
      • Async и await
      • Асинхронные итераторы
      • Асинхронные генераторы
      • XMLHttpRequest и отправка ajax-запросов
      • Загрузка HTML с помощью XMLHttpRequest
      • Загрузка XML с помощью XMLHttpRequest
      • Загрузка JSON с помощью XMLHttpRequest
      • Отправка данных в ajax-запросе
      • Отправка форм в ajax-запросе
      • Promise в Ajax-запросах
      • Функция fetch
      • Объект Response и его свойства
      • Получение данных из ответа
      • Настройка параметров запроса. Отправка данных
      • Создание клиента для REST API
      • Web Socket API
      • Server-Sent Events
      • Введение в Internationalization API
      • Локализация списков и Intl.ListFormat
      • Локализация дат и времени
      • Локализация названий и Intl.DisplayNames
      • Форматирование чисел и Intl.NumberFormat
      • Int.Collator и сравнение строк
      • Введение в модули
      • Импорт модуля
      • Экспорт и импорт компонентов модулей
      • Экспорт и импорт по умолчанию
      • Использование псевдонимов при экспорте и импорте
      • Динамическая загрузка модулей
      • Canvas и его контекст. Рисование прямоугольников
      • Настройка рисования
      • Фоновые изображения
      • Создание градиента
      • Рисование текста
      • Рисование фигур
      • Рисование изображений
      • Добавление теней
      • Редактирование пикселей
      • Трансформации
      • Рисование мышью
      • Сохранение и восстановление состояния canvas
      • Анимация на canvas
      • Создание, открытие и удаление базы данных
      • Управление базой данных в IndexedDB
      • Выполнение запросов к базе данных
      • Добавление объектов в хранилище
      • Получение данных из IndexDB
      • Обновление объектов хранилища
      • Получение количества объектов
      • Удаление данных из хранилища
      • Курсоры
      • Перетаскивание элементов с помощью Drag-and-Drop API
      • Установка и послучение перетаскиваемых данных с помощью DataTransfer
      • Загрузка файлов
      • Чтение файлов с FileReader
      • Отслеживание процесса загрузки файла
      • Определение и выполнение веб-воркера
      • Обмен сообщениями между веб-воркером и основным потоком
      • Geolocation API
      • Battery Status API
      • Web Speech API. Синтез речи
      • Web Speech API. Распознавание речи
      • Web Animation API
      • Паттерн пространство имен
      • Паттерн Модуль
      • JavaScript в CSS

      Помощь сайту
      410011174743222
      Перевод на карту
      Номер карты:
      4048415020898850

      Copyright © metanit.com, 2024. Все права защищены.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *