From 95aca4b4d8fa62815d4bd412fff1a364f842814a Mon Sep 17 00:00:00 2001 From: Ryan Johnson Date: Thu, 29 Apr 2021 16:16:42 -0700 Subject: remove retired locales (#699) --- .../global_objects/function/call/index.html | 168 --------------------- 1 file changed, 168 deletions(-) delete mode 100644 files/uk/web/javascript/reference/global_objects/function/call/index.html (limited to 'files/uk/web/javascript/reference/global_objects/function/call') diff --git a/files/uk/web/javascript/reference/global_objects/function/call/index.html b/files/uk/web/javascript/reference/global_objects/function/call/index.html deleted file mode 100644 index caa12e71b0..0000000000 --- a/files/uk/web/javascript/reference/global_objects/function/call/index.html +++ /dev/null @@ -1,168 +0,0 @@ ---- -title: Function.prototype.call() -slug: Web/JavaScript/Reference/Global_Objects/Function/call -tags: - - Function - - JavaScript - - Method -translation_of: Web/JavaScript/Reference/Global_Objects/Function/call ---- -
{{JSRef}}
- -

Метод call() викликає функцію із вказаним значенням this та зазначеним переліком аргументів.

- -
-

Заувага: Хоча за своїм призначенням цей метод і {{jsxref("Function.prototype.apply", "apply()")}} є тотожними, аргументи для викликаної функції передаються в дещо різний спосіб: метод call() приймає їх перелік, тоді як метод apply() приймає їх масив.

-
- -
{{EmbedInteractiveExample("pages/js/function-call.html")}}
- - - -

Синтаксис

- -
function.call(thisArg[, arg1[, arg2[, ...]]])
- -

Параметри

- -
-
thisArg {{optional_inline}}
-
Значення this, яке буде застосовано для виклику function. Зауважте, що значення thisArg може зазнати перетворень — якщо функція function виконується у {{jsxref("Functions_and_function_scope/Strict_mode", "поблажливому режимі", "", 1)}}, тоді замість {{jsxref("Global_Objects/null", "null")}} та {{jsxref("Global_Objects/undefined", "undefined")}} буде застосовано {{glossary("Global_object", "глобальний об'єкт")}}, а {{glossary("Primitive", "прості величини")}} буде обернено на об'єкти.
-
arg1, arg2, ... {{optional_inline}}
-
Аргументи, що їх буде передано до функції function.
-
- -

Вертає

- -

Значення, яке внаслідок виклику повернула сама функція function.

- -

Опис

- -

Метод call() здійснює виклик функції, заступаючи значення ключового слова this всередині неї значенням, переданим до call() як перший аргумент. Це уможливлює одноразове написання деякої функції з можливістю її надалі викликати для всякого об'єкта так, наче вона є його методом.

- -

Приклади

- -

Виклик успадкованих конструкторів за допомогою call

- -

Методом call() можна скористатись для створення ланцюжка конструкторів об'єкта, як у Java. У наведеному прикладі конструктор Product (виріб) має два параметри: назву (name) й ціну (price). Два інші конструктори — Food (їжа) і Toy (цяцька) — спершу викликають конструктор Product, передаючи потрібні йому значення name і price, а відтак додають окрему властивість category (різновид).

- -
function Product(name, price) {
-  this.name = name;
-  this.price = price;
-}
-
-function Food(name, price) {
-  Product.call(this, name, price);
-  this.category = 'food';
-}
-
-function Toy(name, price) {
-  Product.call(this, name, price);
-  this.category = 'toy';
-}
-
-var cheese = new Food('feta', 5);
-var fun = new Toy('robot', 40);
-
- -

Виклик неназваних функцій за допомогою метода call

- -

Цей суто надуманий приклад містить використання метода call для виклику анонімної функції на кожному об'єкті з масиву.

- -

Всередині цієї анонімної функції кожен об'єкт отримує окремий метод print, що друкуватиме значення властивостей об'єкта та його розташунок (індекс) в масиві. Передача об'єкта саме як this не є необхідністю, а вжито лише задля наочності.

- -
var animals = [
-  { species: 'Лев', name: 'Король' },
-  { species: 'Пантера', name: 'Багіра' }
-];
-
-for (var i = 0; i < animals.length; i++) {
-  (function(i) {
-    this.print = function() {
-      console.log(i, this.species, this.name);
-    }
-    this.print();
-  }).call(animals[i], i);
-}
-
- -

Виклик функції та перевиознака this за допомогою метода call

- -

Під час виклику функції greet в цьому прикладі значення this буде прив'язано до об'єкта obj:

- -
function greet() {
-  var message = 'Вітаємо, ' + (this.isMale ? 'пане ' : 'пані ') + this.name;
-  console.log(message);
-}
-
-var obj = {
-  isMale: false, name: 'Олено'
-};
-
-greet.call(obj);  // Вітаємо, пані Олено
-
- -

Виклик функції за допомогою метода call без зазначення першого аргумента

- -

Як засвідчує цей приклад, відсутність першого аргумента метода call має наслідком прив'язування this до {{glossary('global object', 'глобального об\'єкта')}}:

- -
var name = 'Тарас';
-
-var x = {
-  name: 'Микола',
-  display: function() {
-    console.log('Мене звуть ' + this.name);
-  }
-};
-
-x.display();  // Мене звуть Микола
-x.display.call();  // Мене звуть Тарас
-
- -

Специфікації

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
СпецифікаціяСтатусКоментар
{{SpecName('ES1')}}{{Spec2('ES1')}}Початкова виознака. Запроваджено у JavaScript 1.3.
{{SpecName('ES5.1', '#sec-15.3.4.4', 'Function.prototype.call')}}{{Spec2('ES5.1')}}
{{SpecName('ES6', '#sec-function.prototype.call', 'Function.prototype.call')}}{{Spec2('ES6')}}
{{SpecName('ESDraft', '#sec-function.prototype.call', 'Function.prototype.call')}}{{Spec2('ESDraft')}}
- -

Підтримка веб-переглядачами

- - - -
{{Compat("javascript.builtins.Function.call")}}
- -

Див. також

- - -- cgit v1.2.3-54-g00ecf