JavaScript Функция


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

Примеры

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Тестовый пример</title> <script> function myFunction() { alert("Hello World!"); } </script> </head> <body> <button onclick="myFunction()">Нажми меня</button> </body> </html>

Попробуйте сами »


Синтаксис функций JavaScript

Функция — это блок кода, заключённый в фигурные скобки, перед которым стоит ключевое слово function:

function functionname()
{
    // Выполнить код
}

Когда функция вызывается, код внутри функции будет выполнен.

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

lamp JavaScript учитывает регистр. Ключевое слово function должно быть в нижнем регистре, а функцию нужно вызывать с тем же регистром, что и имя функции.


Вызов функции с параметрами

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

Эти параметры можно использовать внутри функции.

Вы можете передать сколько угодно параметров, разделённых запятыми (,):

myFunction(argument1,argument2)

Когда вы объявляете функцию, объявляйте параметры как переменные:

function myFunction(var1,var2)
{
Code
}

Переменные и параметры должны следовать в согласованном порядке. Первой переменной присваивается значение первого переданного параметра, и так далее.

Примеры

<p>Нажмите эту кнопку, чтобы вызвать функцию с параметрами.</p> <button onclick="myFunction('Harry Potter','Wizard')">Нажмите здесь</button> <script> function myFunction(name,job){ alert("Welcome " + name + ", the " + job); } </script>

Попробуйте сами »

Функция выше выведет предупреждение "Welcome Harry Potter, the Wizard" при нажатии на кнопку.

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

Примеры

<button onclick="myFunction('Harry Potter','Wizard')">Нажмите здесь</button> <button onclick="myFunction('Bob','Builder')">Нажмите здесь</button>

Попробуйте сами »

В зависимости от того, на какую кнопку вы нажмёте, пример выше выведет предупреждение "Welcome Harry Potter, the Wizard" или "Welcome Bob, the Builder".


Функции, возвращающие значения

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

Это можно сделать с помощью оператора return.

При использовании оператора return функция прекращает выполнение и возвращает указанное значение.

Синтаксис

function myFunction()
{
    var x=5;
    return x;
}

Функция выше вернёт значение 5.

Примечание:Весь JavaScript не прекращает выполнение; прекращает только функция. JavaScript продолжит выполнять код с того места, где была вызвана функция.

Вызов функции будет заменён возвращаемым значением:

var myVar=myFunction();

Значение переменной myVar равно 5, то есть это значение, возвращённое функцией "myFunction()".

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

document.getElementById("demo").innerHTML=myFunction();

innerHTML элемента "demo" станет равным 5, что является значением, возвращаемым функцией "myFunction()".

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

Примеры

Вычислите произведение двух чисел и верните результат:

function myFunction(a,b) { return a*b; } document.getElementById("demo").innerHTML=myFunction(4,3);

innerHTML элемента "demo" будет:

12

Попробуйте сами »

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

function myFunction(a,b) { if (a>b) { return; } x=a+b }

Если a больше b, приведённый выше код выйдет из функции и не вычислит сумму a и b.


Локальные переменные JavaScript

Переменные, объявленные внутри функции JavaScript (с помощью var), являютсялокальнымипеременными, поэтому доступ к ним возможен только внутри функции. (Область видимости переменной является локальной.)

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

Локальные переменные удаляются сразу после завершения функции.


Глобальные переменные JavaScript

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


Время жизни переменных JavaScript

Время жизни переменных JavaScript начинается, когда они объявляются.

Локальные переменные удаляются после выполнения функции.

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


Присваивание значений необъявленным переменным JavaScript

Если вы присвоите значение переменной, которая не была объявлена, переменная автоматически станет свойством window.

Эта инструкция:

carname="Volvo";

объявит свойство window с именем carname.

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

var var1 = 1; // 不可配置全局属性
var2 = 2; // 没有使用 var 声明,可配置全局属性

console.log(this.var1); // 1
console.log(window.var1); // 1
console.log(window.var2); // 2

delete var1; // false 无法删除
console.log(var1); //1

delete var2; 
console.log(delete var2); // true
console.log(var2); // 已经删除 报错变量未定义
Другие расширения