Меню
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP КАК СДЕЛАТЬ ПРОГРАММЫ SW3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS КИБЕРБЕЗОПАСНОСТЬ НАУКА О ДАННЫХ
     ❯   

JS Учебник


JS Версии


JS Объекты


JS Функции


JS Классы


JS Асинхронный


JS HTML DOM


JS Браузер BOM


JS Веб APIы


JS AJAX


JS JSON


JS или jQuery


JS Графика


JS Примеры


JS Рекомендация




JavaScript Определение функций



JavaScript функции определяются с помощью ключевого слова function .

Вы можете использовать функцию объявление или функцию выражение.


Объявление функции

Ранее в этом руководстве вы узнали, что функции объявляются со следующим синтаксисом:

function functionName(parameters) {
// код для выполнения
}

Заявленные функции не выполняются сразу. Они "сохраняются для дальнейшего использования" и будут выполняться позже, когда они будут вызваны (вызвана).

Пример
function myFunction(a, b) {
return a * b;
}
Попробуйте сами »

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


Выражение функции

JavaScript функцию, также может быть определена с помощью выражения.

Выражение функции можно сохранить в переменной:

Пример
var x = function (a, b) {return a * b};
Попробуйте сами »

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

Пример
var x = function (a, b) {return a * b};
var z = x(4, 3);
Попробуйте сами »

Выше упомянутая функция на самом деле является анонимной функцией (функцией без имени).

Функции, хранящиеся в переменных, не нуждаются в именах функций. Они всегда вызываются (вызывается) с использованием имени переменной.

Выше упомянутая функция заканчивается точкой с запятой, потому что она является частью исполняемого заявления.



Конструктор Function()

Как вы видели в предыдущих примерах, JavaScript функции определяются с помощью ключевого слова function .

Функцию, также можно определять с помощью встроенного JavaScript конструктора, называемого Function().

Пример
var myFunction = new Function("a", "b", "return a * b");

var x = myFunction(4, 3);
Попробуйте сами »

На самом деле вам не нужно использовать конструктор функции. Пример выше такой же, как и запись:

Пример
var myFunction = function (a, b) {return a * b};

var x = myFunction(4, 3);
Попробуйте сами »

В большинстве случаев вы можете избегать использования ключевого слова new в JavaScript.


Подъем функции

Ранее в этом руководстве вы узнали о "подъеме" (Подъем JavaScript).

Подъем - это стандартное поведение JavaScript, заключающееся в перемещении объявлений в верхнюю часть текущей области.

Подъем применяется к объявлениям переменных и функций.

По этой причине JavaScript функции могут быть вызваны до их объявления:

myFunction(5);

function myFunction(y) {
return y * y;
}

Функции, определенные с помощью выражения, не поднимаются.


Самовызывающие функции

Выражения функции можно сделать "самовызывающий".

Самовызванное выражение вызывается (запускается) автоматически, без вызова.

Выражения функций будут выполняться автоматически, если за выражением следует ().

Вы не можете самостоятельно вызывать объявление функции.

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

Пример
(function () {
var x = "Привет!!"; // я вызову себя
})();
Попробуйте сами »

Выше упомянутая функция на самом деле является анонимной функцией с автоматическим запуском (функция без имени).


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

JavaScript функции могут использоваться как значения:

Пример
function myFunction(a, b) {
return a * b;
}

var x = myFunction(4, 3);
Попробуйте сами »

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

Пример
function myFunction(a, b) {
return a * b;
}

var x = myFunction(4, 3) * 2;
Попробуйте сами »

Функции - это объекты

Оператор typeof в JavaScript возвращает "функции" для функций.

Но JavaScript функции лучше всего описывать как объекты.

JavaScript функции имеют как свойства, так и методы.

Свойство arguments.length возвращает количество аргументов, полученных при вызове функции:

Пример
function myFunction(a, b) {
return arguments.length;
}
Попробуйте сами »

Метод toString() возвращает функцию в виде строки:

Пример
function myFunction(a, b) {
return a * b;
}

var txt = myFunction.toString();
Попробуйте сами »

Функция, определенная как свойство объекта, называется методом объекта.
Функция, предназначенная для создания новых объектов, называется конструктором объекта.


Функции стрелок

Функции стрелок позволяют использовать короткий синтаксис для написания выражения функций.

Вам не нужны ключевые слова function, return и фигурные скобки.

Пример
// ES5
var x = function(x, y) {
return x * y;
}

// ES6
const x = (x, y) => x * y;
Попробуйте сами »

Функции стрелок не имеют своих this. Они не очень подходят для определения методов объекта.

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

Использование const более безопасно, чем использование var, потому что выражение функции всегда является постоянным значением.

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

Пример
const x = (x, y) => { return x * y };
Попробуйте сами »

Функции стрелок не поддерживаются в IE11 и более ранних версиях.



×

Связаться с отделом продаж

Если вы хотите использовать услуги schoolsw3 как образовательное учреждение, команда или предприятие, отправьте нам электронное письмо:
sales@schoolsw3.com

Сообщить об ошибке

Если вы хотите сообщить об ошибке или внести предложение, отправьте нам электронное письмо:
help@schoolsw3.com

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

Авторское право 1999- принадлежит Refsnes Data. Все права защищены. Schoolsw3 работает на SW3.CSS.