
JavaScript - programujeme objektovo
nebudem sa tu moc rozpisovat(aj pre mna plati obmedzenie prispevku). naschval som nevytvaral zlozite objekty alebo metody, islo mi hlavne o princip. tak zaciname:
ako prve si vyvorime vlastny objekt. na to nam bude sluzit operator new a trieda Object
myObj = new Object; // vytvorenie vlastneho objektu myObj
myObj.myvar = "hello world"; // vytvorenie property(clenska premenna) pre myObj
//vytvorenie vlastnej metody ako obycajnej funkcie:
function my_alert(pre)
{
alert(pre);
}
// namapovanie funkcie my_alert ako metody moj_alert pre myObj
myObj.moj_alert = my_alert;
// a nakoniec volanie metody moj_alert s parametrom myObj.myvar
myObj.moj_alert(obj.myvar);
pretoze ale funkcia my_alert je obycajna funkcia, je ju mozne volat aj ako normalnu funkciu a nemusi byt priamo viazana na objekt myObj. toto sa mi zda ako nevyhoda a lepsi sposob je vytvorenie tzv. anonymnej funkcie:/* vytvorenie anonymnej funkcie(znamej aj z Perlu) ako metody moj_alert.
syntax je: Function([arg1[, arg2[, ... argN]],] functionBody)*/
myObj.moj_alert = new Function("pre","alert(pre)");
tento sposob sa mi zda lepsi, lebo nie je mozne funckiu volat normalne(je neviditelna)a je priamo zviazana s objektom myObj.
nabuduce vam ukazem, ako sa da aj v jazyku C(nie C++) pomocou struktur a pointrov na funkcie programovat "kvazi" objektovo.
