Вызов функции JavaScript
- Предыдущая страница Параметры JS функции
- Следующая страница JS функция Call
Код внутри JavaScript функции будет выполняться, когда «нечто» вызовет её.
Вызов JavaScript функции
В момент вызова функцииОпределениевнутренний код функции не будет выполняться.
В момент вызова функцииВызовв момент его вызова, код внутри функции будет выполняться.
Вызов функции также можно сказать «запуск функции» или «выполнение функции».
В этом руководстве мы используем «Вызов。
Вызов функции в виде функции
Экземпляр
function myFunction(a, b) { return a * b; } myFunction(10, 2); // вернет 20
Эти функции не относятся к любому объекту. Но в JavaScript всегда существует некий(default) глобальный объект.
В HTML по умолчанию глобальным объектом является сам HTML-страница, все上面的 функции «принадлежат» HTML-странице.
В браузере, этот объект страницы является окном браузера. Функция выше автоматически становится функцией окна.
myFunction() и window.myFunction() — это одна и та же функция:
Экземпляр
function myFunction(a, b) { return a * b; } window.myFunction(10, 2); // также вернет 20
Это один из常见ных способов вызова функции, но это не guter習慣.
глобальные переменные, методы или функции легко вызывают конфликты имен и уязвимости в глобальном объекте.
this ключевое слово
в JavaScript известен как this
предмет, указывающий на «владение» текущим кодом.
this
возвратит значение, в функции используется, это объект, «владеющий» этой функцией.
обратите внимание this
Это не переменная. Это ключевое слово. Вы не можете изменить this
возвратит значение.
глобальный объект
когда объект вызывается без объекта владельца,this
значение становится глобальным объектом.
в веб-браузере глобальным объектом является объект браузера.
в данном примере this
возвратит этот объект window:
Экземпляр
var x = myFunction(); // x станет объектом window function myFunction() { return this; }
вызывать функцию как глобальную функцию приведет к this
значение становится глобальным объектом.
использовать объект window как переменную легко вызвать сбой программы.
вызывать функцию как метод
В JavaScript вы можете определить функцию как метод объекта.
В данном примере создается объект (myObject), у которого есть два свойства (firstName и lastName) и один метод (fullName):
Экземпляр
var myObject = { firstName: "Bill", lastName: "Gates", fullName: function () { return this.firstName + " " + this.lastName; } } myObject.fullName(); // Возвратит "Bill Gates"
метод fullName является функцией. Эта функция принадлежит объекту. myObject является владельцем функции.
называется this
предмет, который «владеет» этим фрагментом JavaScript-кода, является объектом. В данном примере,this
значение: myObject。
проверим! Измените этот метод fullName, чтобы он возвращает this
значение:
Экземпляр
var myObject = { firstName: "Bill", lastName: "Gates", fullName: function () { return this; } } myObject.fullName(); // Возвратит [object Object] (объект владелец)
Вызов функции как метод объекта приведет к this
Значение станет самим объектом.
Вызов функции через конструктор функции
Если перед вызовом функции стоит new
Если перед вызовом функции стоит ключевое слово, то это вызов конструктора.
Это выглядит так, как будто вы создаете новую функцию, но поскольку функции JavaScript являются объектами, вы фактически создаете новый объект:
Экземпляр
// Это конструктор функции: function myFunction(arg1, arg2) { this.firstName = arg1; this.lastName = arg2; } // Создан новый объект: var x = new myFunction("Bill", "Gates"); x.firstName; // вернет "Bill"
Вызов конструктора создаст новый объект. Новый объект будет наследовать свойства и методы от своего конструктора.
Внутри конструктора this
Ключевое слово не имеет значения.
this
Значение станет новым объектом, созданным при вызове функции.
- Предыдущая страница Параметры JS функции
- Следующая страница JS функция Call