JavaScript Функция
Функция — это переиспользуемый блок кода, который управляется событиями или выполняется при вызове.
Примеры
Попробуйте сами »
Синтаксис функций JavaScript
Функция — это блок кода, заключённый в фигурные скобки, перед которым стоит ключевое слово function:
{
// Выполнить код
}
Когда функция вызывается, код внутри функции будет выполнен.
Функцию можно вызвать напрямую при возникновении события (например, когда пользователь нажимает кнопку), и JavaScript может вызвать её из любого места.
| JavaScript учитывает регистр. Ключевое слово function должно быть в нижнем регистре, а функцию нужно вызывать с тем же регистром, что и имя функции. |
Вызов функции с параметрами
При вызове функции вы можете передавать ей значения, и эти значения называются параметрами.
Эти параметры можно использовать внутри функции.
Вы можете передать сколько угодно параметров, разделённых запятыми (,):
Когда вы объявляете функцию, объявляйте параметры как переменные:
{
Code
}
Переменные и параметры должны следовать в согласованном порядке. Первой переменной присваивается значение первого переданного параметра, и так далее.
Примеры
Попробуйте сами »
Функция выше выведет предупреждение "Welcome Harry Potter, the Wizard" при нажатии на кнопку.
Функции очень гибкие. Вы можете вызывать функцию с разными параметрами, и она будет выдавать разные сообщения:
Примеры
Попробуйте сами »
В зависимости от того, на какую кнопку вы нажмёте, пример выше выведет предупреждение "Welcome Harry Potter, the Wizard" или "Welcome Bob, the Builder".
Функции, возвращающие значения
Иногда мы хотим, чтобы функция возвращала значение в то место, откуда она была вызвана.
Это можно сделать с помощью оператора return.
При использовании оператора return функция прекращает выполнение и возвращает указанное значение.
Синтаксис
{
var x=5;
return x;
}
Функция выше вернёт значение 5.
Примечание:Весь JavaScript не прекращает выполнение; прекращает только функция. JavaScript продолжит выполнять код с того места, где была вызвана функция.
Вызов функции будет заменён возвращаемым значением:
Значение переменной myVar равно 5, то есть это значение, возвращённое функцией "myFunction()".
Вы также можете использовать возвращаемое значение, не сохраняя его в переменную:
innerHTML элемента "demo" станет равным 5, что является значением, возвращаемым функцией "myFunction()".
Вы можете сделать возвращаемое значение зависимым от параметров, переданных в функцию:
Примеры
Вычислите произведение двух чисел и верните результат:
innerHTML элемента "demo" будет:
Попробуйте сами »
Вы также можете использовать оператор return, когда просто хотите выйти из функции. Возвращаемое значение необязательно:
Если a больше b, приведённый выше код выйдет из функции и не вычислит сумму a и b.
Локальные переменные JavaScript
Переменные, объявленные внутри функции JavaScript (с помощью var), являютсялокальнымипеременными, поэтому доступ к ним возможен только внутри функции. (Область видимости переменной является локальной.)
Вы можете использовать локальные переменные с одинаковым именем в разных функциях, потому что только функция, объявившая переменную, может распознать эту переменную.
Локальные переменные удаляются сразу после завершения функции.
Глобальные переменные JavaScript
Переменные, объявленные вне функции, являютсяглобальнымипеременными, и все скрипты и функции на веб-странице могут получить к ним доступ.
Время жизни переменных JavaScript
Время жизни переменных JavaScript начинается, когда они объявляются.
Локальные переменные удаляются после выполнения функции.
Глобальные переменные удаляются после закрытия страницы.
Присваивание значений необъявленным переменным JavaScript
Если вы присвоите значение переменной, которая не была объявлена, переменная автоматически станет свойством window.
Эта инструкция:
объявит свойство 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); // 已经删除 报错变量未定义Другие расширения