jensej 2 Zgłoś post Napisano Lipiec 5, 2017 (edytowany) Witam. Mam taka strukturę klasy: var Game = { _id: null, create: function(id) { this._id = id }, join: function() { }, end: function() { } }; Potrzebuję stworzyć tablicę obiektów tej klasy. Ale niestety mogę stworzyć tylko 1 obiekt. Poprzez Game.create(123); Próbowałem czegoś takiego obj1 = new Game.create(223); obj2 = new Game.create(222); Jednak niestety to nie działa. Wyniki jaki otrzymuję to: create {} Czy moja struktura klasy jest zła? edit: pomyliłem działy, proszę o przeniesienie. Edytowano Lipiec 5, 2017 przez jensej (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
Fizyda 34 Zgłoś post Napisano Lipiec 5, 2017 Nie znam node.js, znam ecmascript 5.1 i na podstawie tego piszę: var tab = []; tab.push(Game.create(222)); tab.push(Game.create(232)); tab.push(Game.create(422)); tab.push(Game.create(522)); tab.push(Game.create(622)); Udostępnij ten post Link to postu Udostępnij na innych stronach
jensej 2 Zgłoś post Napisano Lipiec 5, 2017 Nie znam node.js, znam ecmascript 5.1 i na podstawie tego piszę: var tab = []; tab.push(Game.create(222)); tab.push(Game.create(232)); tab.push(Game.create(422)); tab.push(Game.create(522)); tab.push(Game.create(622)); no właśnie próbowałem też i zwraca undefined.. Nie wiem ocb./. Udostępnij ten post Link to postu Udostępnij na innych stronach
Fizyda 34 Zgłoś post Napisano Lipiec 5, 2017 Może dlatego że create nic nie zwraca? Po co masz : po create i reszcie w definicji obiektu? Albo czegoś ja nie wiem co może dodali w ecmscript 6 ale w ogóle wygląda mi to że źle stworzyłeś klasę. Udostępnij ten post Link to postu Udostępnij na innych stronach
systemy.internetowe 7 Zgłoś post Napisano Lipiec 6, 2017 Witam. Mam taka strukturę klasy: Potrzebuję stworzyć tablicę obiektów tej klasy. Zobacz coś takiego: <script type="text/javascript"> class MyGame { constructor(_id) { this.myid = _id; } sayName() { return 'Hi, I am a ' + this.myid + '.'; } mySum(_var2) { var jakasuma = _var2+this.myid; return 'Suma dodawania: '+ jakasuma + '...'; } } var myTab = []; //obj1 = new MyGame(1); //obj2 = new MyGame(2); //obj2.sayName(); //obj1.sayName(); for(var jj = 0; jj < 10; jj++) { myTab.push(new MyGame(jj)); } for(var jj = 0; jj < myTab.length; jj++) { console.log('> ' +myTab[jj].sayName()); console.log('> ' +myTab[jj].mySum(jj)); } </script> I wyjście z NODE nodejs myclass.js > Hi, I am a 0. > Suma dodawania: 0... > Hi, I am a 1. > Suma dodawania: 2... > Hi, I am a 2. > Suma dodawania: 4... > Hi, I am a 3. > Suma dodawania: 6... > Hi, I am a 4. > Suma dodawania: 8... > Hi, I am a 5. > Suma dodawania: 10... > Hi, I am a 6. > Suma dodawania: 12... > Hi, I am a 7. > Suma dodawania: 14... > Hi, I am a 8. > Suma dodawania: 16... > Hi, I am a 9. > Suma dodawania: 18... Suma dodawania ech .. masło maślane, ale jako przykład "javascript es6 class" działa Udostępnij ten post Link to postu Udostępnij na innych stronach