Перейти к содержимому
шпаргалка.
Esc
навигацияоткрыть⌘Jпредпросмотр
На этой странице

Методы функций

Все темы React Developer

Для чего используется метод Function.prototype.apply?

apply — это метод, используемый для вызова функции с заданным значением this и аргументами, переданными в виде массива.

Основные характеристики:

  1. Задание контекста this:

    • Позволяет определить, каким объектом будет this внутри вызываемой функции.

    • Пример:

      function greet() {
          console.log(this.name);
      }
      const obj = { name: "Alice" };
      greet.apply(obj); // "Alice"
  2. Передача аргументов в виде массива:

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

    • Пример:

      function sum(a, b) {
          return a + b;
      }
      const args = [2, 3];
      console.log(sum.apply(null, args)); // 5

Метод apply используется для вызова функции с заданным значением this и аргументами, переданными в виде массива, что обеспечивает гибкость в управлении контекстом и передачей параметров.


Для чего используется метод Function.prototype.call?

call — это метод, используемый для вызова функции с заданным значением this и аргументами, переданными по отдельности.

Основные характеристики:

  1. Задание контекста this:

    • Позволяет определить, каким объектом будет this внутри вызываемой функции.

    • Пример:

      function greet() {
          console.log(this.name);
      }
      const obj = { name: "Alice" };
      greet.call(obj); // "Alice"
  2. Передача аргументов по отдельности:

    • Позволяет передать аргументы функции через запятую.

    • Пример:

      function sum(a, b) {
          return a + b;
      }
      console.log(sum.call(null, 2, 3)); // 5

Метод call используется для вызова функции с заданным значением this и аргументами, переданными по отдельности, обеспечивая гибкость в управлении контекстом и передачей параметров.


В чем разница между методами call и apply?

Разница между методами call и apply:

  1. Передача аргументов:

    • call: Аргументы передаются по отдельности.

      function sum(a, b) {
          return a + b;
      }
      console.log(sum.call(null, 2, 3)); // 5
    • apply: Аргументы передаются в виде массива.

      function sum(a, b) {
          return a + b;
      }
      console.log(sum.apply(null, [2, 3])); // 5
  2. Синтаксис:

    • call: func.call(thisArg, arg1, arg2, ...)

    • apply: func.apply(thisArg, argsArray)


Для чего используется метод Function.prototype.bind?

bind — это метод, который создаёт новую функцию с установленным значением this и, возможно, с частично переданными аргументами.

Основные характеристики:

  1. Задание контекста this:

    • Позволяет задать контекст this, который будет использоваться при вызове новой функции.

    • Пример:

      function greet() {
          console.log(this.name);
      }
      const obj = { name: "Alice" };
      const boundGreet = greet.bind(obj);
      boundGreet(); // "Alice"
  2. Частичное применение аргументов:

    • Можно передать часть аргументов функции, которые будут зафиксированы при создании новой функции.

    • Пример:

      function sum(a, b) {
          return a + b;
      }
      const addFive = sum.bind(null, 5);
      console.log(addFive(3)); // 8

Метод bind используется для создания новой функции с фиксированным значением this и/или частично переданными аргументами, обеспечивая гибкость в управлении контекстом и аргументами функции.

Эта страница была полезной?