Powiel możliwe:
Self-references in object literal declarationsJak odwołać właściwości bieżącego obiektu w JS
Mam kilka prostych obiektów w JS jak w poniższym przykładzie:
var object = {
firstname : 'john',
lastname : 'paul',
wholename : firstname + lastname
}
Cóż to prosta rzecz nie działa; john i paul są niezdefiniowani w nazwach, więc próbowałem użyć operatora 'this', który działa TYLKO, gdy wykonuję funkcję (getWholeName(){return this.firstname+this.lastname})
. Ale jeśli chcę używać zmiennej, a nie funkcji, jak mam to zrobić? Próbowałem też object.firstname + object.lastname
, ale to nie działa.
Ok, dziękuję. Dlaczego tak robię, staram się mieć dobrze zorganizowany kod w ogromnej aplikacji internetowej, którą buduję; dlatego postanowiłem przegrupować podobne funkcje i zmienne w obiektach takich jak ten. Czy to właściwy sposób na zrobienie tego? Wiem o TypeScript i Modules, ale czy muszę używać TS, aby osiągnąć coś tak prostego, jak grupy funkcji/zmiennych? – Rayjax
@ user1397271 możesz to zrobić w prostym JS: spróbuj wprowadzić przestrzenie nazw (jak var MYAPP = {}; MYAPP.data = ...) i spróbuj podzielić duże funkcje na mniejsze. Rozważ użycie wzorca modułu: http://www.adequatelygood.com/2010/3/JavaScript-Module-Pattern-In-Dthth – Stefan
kiedy mówisz o przestrzeniach nazw takich jak var MYAPP = {}, oznacza to, że jest taki sam jak mój przykład z var object = {}, więc czy napotkasz problem, o który pytałem? – Rayjax