From 074785cea106179cb3305637055ab0a009ca74f2 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:42:52 -0500 Subject: initial commit --- .../reference/errors/not_a_function/index.html | 84 ++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 files/pl/web/javascript/reference/errors/not_a_function/index.html (limited to 'files/pl/web/javascript/reference/errors/not_a_function') diff --git a/files/pl/web/javascript/reference/errors/not_a_function/index.html b/files/pl/web/javascript/reference/errors/not_a_function/index.html new file mode 100644 index 0000000000..019a223f0f --- /dev/null +++ b/files/pl/web/javascript/reference/errors/not_a_function/index.html @@ -0,0 +1,84 @@ +--- +title: 'TypeError: "x" nie jest funkcją' +slug: Web/JavaScript/Reference/Errors/Not_a_function +tags: + - Errors + - JavaScript + - TypeError +translation_of: Web/JavaScript/Reference/Errors/Not_a_function +--- +
{{jsSidebar("Errors")}}
+ +

Wiadomość

+ +
TypeError: "x" is not a function
+
+ +

Typ błędu

+ +

{{jsxref("TypeError")}}.

+ +

Co poszło źle?

+ +

Próbowano wywołać wartość jak funkcję, ale wartość nie jest funkcją. Kod oczekuje od Ciebie przekazania funkcji, co nie miało miejsca.

+ +

Może zrobiłeś literówkę w nazwie funkcji? Może objekt na którym wywołujesz tę metodę nie posiada tej funkcji? Na przykład, objekt JavaScript nie posiada funkcji map, natomiast objekt JavaScript Array posiada.

+ +

Istnieje mnóstwo wbudowanych funkcji wymagających (callback) funkcji. Będziesz musiał wprowadzić funkcję, by metody te działały poprawnie:

+ + + +

Przykłady

+ +

Literówka w nazwie funkcji

+ +

W tym wypadku, co zdarza się zbyt często, jest literówka w nazwie metody:

+ +
var x = document.getElementByID('foo');
+// TypeError: document.getElementByID is not a function
+
+ +

Poprawna naywa metody to getElementById:

+ +
var x = document.getElementById('foo');
+
+ +

Funkcje wywołane na nieodpowiednim objekcie

+ +

Dla pewnych metod, musisz podać (callback) funkcję, która będzie działała tylko dla specyficznych objektów. W tym przykładzie, {{jsxref("Array.prototype.map()")}} jest użyta, podczas gdy działa tylko z objektami {{jsxref("Array")}}

+ +
var obj = {a: 13, b: 37, c: 42};
+
+obj.map(function(num) {
+  return num * 2;
+});
+
+// TypeError: obj.map is not a function
+ +

Użyj w zamian array:

+ +
var numbers = [1, 4, 9];
+
+numbers.map(function(num) {
+  return num * 2;
+});
+
+// Array [2, 8, 18]
+
+ +

Zobacz również

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