hejsan, i C++ finns nåt som heter struct, finns nåt liknande i Java-script?
finns struct i javascript?
12 svar · 473 visningar · startad av Prästen
I JavaScript behöver du inte deklarera en variabel till en viss typ som i C. Hurvida innehållet i variabeln är en boolean, integer, long etc. spelar ingen roll. För att skapa objekt som du sedan tilldelar egenskaper kan du använda object;
var foo=new Object();
foo.bar=12;
foo.foo="Something";
foo.faa=true;
AAh, coolt!, tack för hjälpen
hmm men hur gör man om man vill göra en array av Objects()?
Precis som du alltid gör när du har använder arrayer.
Så där använder du aldrig en array i vanliga fall heller, eftersom du alltid initialiserar till höger om ett likhetstecken och deklarerar till vänster. Först & främst måste du se till att arrayen faktiskt blir en array:
var arr = new Array(5001);
arr[5000] = new Object();
hmm verkar blanda ihop c# och C++
men måste jag nu deklarare varje array som ett object?
var arr = new Array(5001);
arr[0] = new Object();
arr[1] = new Object();
arr[2] = new Object();
arr[3] = new Object();
arr[4] = new Object();
osv?
Nej, du deklarerar (eller snarare, initialiserar) en array som du fyller med objekt.
var arr = new Array(666);
for (var i = 0; i < arr.length; i++){
arr[i] = new Object();
arr[i].number = i; // eller vad du nu vill ha för värden i objektet
}
ok det är lite annorlunda från C++.
tycker java kunde gjort det lite smidigare ändå. man måste ju göra mycket för hand där verkar det som..
i C++ kan man göra såhär:
// göra en struct
struct VERTEXSTRUCT {
int pos;
double normal;
};
// och deklarera och initiera i samma rad
VERTEXSTRUCT *hej=new VERTEXSTRUCT[5000];
också använda dem såhär:
hej[1].pos=123;
Det är väl smidigt nog? I javascript (inte java) så gör du det på 5 rader medan du i C++ gör det på 6.