W pythonie można zdefiniować obiekt posiadający metodę __getattr__(self,key)
, aby obsłużyć wszystkie nieznane atrybuty, które mają być rozwiązywane w sposób programistyczny, ale w javascript można zdefiniować tylko moduły pobierające i ustawiające dla predefiniowanych atrybutów. Czy istnieje ogólny sposób na wykonanie poprzedniej czynności również w javascript?Czy istnieje odpowiednik javascript metody __getattr__ python?
Przykładowy kod będzie smth jak:
function X() {};
X.prototype={
__getattr__:function(attrname) {
return "Value for attribute '"+attrname+"'";
}
}
x=new X()
alert(x.lskdjoau); // produces message: "Value of attribute 'lskdjoau'"
Kluczowy punkt jest coraz wartość atrybutu programowo w zależności od nazwy atrybutu. Atrybut wstępnego ustawienia nie pomaga, ponieważ podczas init nie ma informacji, jakie atrybuty mogą być wymagane.
dzięki. tak, to byłoby raczej __getattr__ –
@Roatin DLACZEGO !!!! JS potrzebuje tego bardziej niż jakakolwiek inna funkcja (z wyjątkiem funkcji "mniej ssania", o którą ludzie prosili od dekady). – orokusaki