Associativa arrays är awesome
I JavaScript är allting objekt; strängar är objekt, siffror är objekt, till och med funktioner är objekt. Det härligaste objektet som finns är dock associativa arrayer, eller arrayer med en angiven nyckel istället för bara ett heltalsindex. Den enklaste formen av ett sånt här array är ett objekt med nycklar och värden tillsatta till den nyckeln. (Key, Value-pair för de som vill ha den tekniska termen)
var oh= { hai: "lol" };
Här skapas ett nytt objekt oh som innehåller en nyckel hai som har värdet “lol”. För att senare komma åt värdet med nyckeln hai finns det en del sätt:
oh.hai; //fungerar oh["hai"] //fungerar oh[0] //fungerar inte
Det andra sättet att hitta värdet kan vara bra om nyckeln innehåller punkter, mellanslag eller andra konstiga tecken som skulle förstöra scriptet.
Syntaxen är väldigt enkel, skapa en variabel, indikera att det är ett objekt med måsvingar ({}), sen ange värdet på nycklar i objektet med kolon istället för likamedtecken. Det är även möjligt att lagra objekt i objekt, och funktioner i nycklar, vilket gör det hela än mer awesome.
Större objekt:
var oh = {
hai: "lol",
foo: "bar",
sayHi: function(){
alert("Hi");
},
hello: {
world : "Hello World"
}
};
Med det här objektet kan man säga hej till världen genom oh.hello.world, eller bara säga hej genom oh.sayHi().
jQuery tar tillvara på associativa arrayer på väldigt många ställen, som exempelvis css()-funktionen, eller bind(), vilket gör det mycket lättare att manipulera utseendet och uppförandet av DOM-element.
Kod för att knyta multipla events till ett element:
$("#foo").bind({
"mouseenter": function(){
//Funktionalitet för hover in
},
"mouseleave": function(){
//Funktionalitet för hover ut
},
"click": function(){
//Funktionalitet för musklick
}
});
Associativa arrays är awesome.