Przechodzę samouczek JavaScript i jestem w stanie go ukończyć. Ale problem polega na tym, że nie rozumiem, co robi jedna z linii. Mam funkcję setAge()
, a następnie po utworzeniu obiektu susan
ustawiam jedną z właściwości tego obiektu jako nazwę funkcji? Nie rozumiem, dlaczego tak się dzieje. Czy nie byłbym w stanie użyć funkcji/metody bez robienia tego?Noob Concern: użycie funkcji JavaScript
Kod poradnik:
var setAge = function (newAge) {
this.age = newAge;
};
var susan = new Object();
susan.age = 25;
susan.setAge = setAge; //how the hell does this work?
// here, update Susan's age to 35 using the method
susan.setAge(35);
To pytanie nie ma nic wspólnego z określeniem zakresu lub zamknięcia. Chodzi o to, że funkcje są obiektami, tak jak wszystko inne w javascript. Jako takie mogą być przekazywane jako parametry, przypisane do zmiennych itp. – jatrim