Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

javascript kao Objektno Orjentisan jezik, osnove

[es] :: Javascript i AJAX :: javascript kao Objektno Orjentisan jezik, osnove

[ Pregleda: 1731 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

kukipei
Niš

Član broj: 19564
Poruke: 164
*.adsl-a-2.sezampro.yu.

Sajt: www.bestbetinfo.com


Profil

icon javascript kao Objektno Orjentisan jezik, osnove29.08.2009. u 12:06 - pre 178 meseci
Pozdrav svima,

Da li neko moze da mi kaze u cemu gresim.
Ovo je kod koji koristim:
Code:
// JavaScript Document
var IFrameDropDown = {
    topLeftX : "0px",
    topLeftY : "0px",
    width : "100px",
    height : "200px",
    url : "mvm.php",
    inputField : Object,
    init :     function()
            {
                this.inputField = document.getElementById("whiteplayer");
                this.addEvents(this.inputField, "change");
            },
    addEvents : function(obj, e)
                {
                    if(window.addEventListener){ // Mozilla, Netscape, Firefox
                        obj.addEventListener(e, this.alerter, false);
                    } else { // IE
                        obj.attachEvent("on" + e, this.alerter);
                    }
                },
    alerter :function()
                {
                    alert("sdf");
                },
    setTopLeftX:function(x)
                {
                    this.topLeftX = x + "px";
                },
    setTopLeftY:function(y)
                {
                    this.topLeftY = y + "px";
                }
};
window.onload = IFrameDropDown.init;


Dobijam sledecu poruku o gresci:

this.addEvents is not a function

u liniji

this.addEvents(this.inputField, "change");


Kada u toj liniji umesto this stavim IFrameDropDown, sve radi dobro.

Zar ne bi trebalo da radi i sa this.
Hvala unapred
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: javascript kao Objektno Orjentisan jezik, osnove29.08.2009. u 19:11 - pre 178 meseci
Ne, ne bi trebalo. Javascript nije object-oriented, vec prototype-based jezik.
Postoje frejmvorci koji pokusavaju da emuliraju object-oriented stil programiranja u javascriptu (od kojih je najpoznatiji Prototype), ali nije moguce od javascripta napraviti objektno orijentisan jezik u potpunosti (bar dok ne zazivi JavaScript 2.0), sto je po meni GoodThing!

elem, evo kako bi tvoj kod trebalo napisati da radi ono sto zelis:
Code:

function IFrameDropDown() {
    this.topLeftX = "0px";
    this.topLeftY = "0px";
    this.width = "100px";
    this.height = "200px";
    this.url = "mvm.php";
    this.inputField = Object;

    this.init  = function() {
         this.inputField = document.getElementById("whiteplayer");
         this.addEvents(this.inputField, "change");
    };
    this.addEvents = function(obj, e) {
         if(window.addEventListener){ // Mozilla, Netscape, Firefox
             obj.addEventListener(e, this.alerter, false);
         } else { // IE
             obj.attachEvent("on" + e, this.alerter);
         }
    };
    this.alerter = function() {
         alert("sdf");
    };
    this.setTopLeftX = function(x) {
         this.topLeftX = x + "px";
    };
    this.setTopLeftY = function(y) {
          this.topLeftY = y + "px";
    };
};

var iframedd = new IFrameDropDown;
window.onload = function() {
     iframedd.init();
}

 
Odgovor na temu

kukipei
Niš

Član broj: 19564
Poruke: 164
*.adsl-a-2.sezampro.yu.

Sajt: www.bestbetinfo.com


Profil

icon Re: javascript kao Objektno Orjentisan jezik, osnove29.08.2009. u 22:12 - pre 178 meseci
Hvala,

ja sam ga ovako resio:

Code:
// JavaScript Document
var IFrameDropDown = {
    topLeftX : "0px",
    topLeftY : "0px",
    width : "100px",
    height : "200px",
    url : "mvm.php",
    inputField : Object,
    addEvents : function (obj, e)
                {
                    if(window.addEventListener){ // Mozilla, Netscape, Firefox
                        obj.addEventListener(e, this.alerter, false);
                    } else { // IE
                        obj.attachEvent("on" + e, this.alerter);
                    }
                },
    alerter :function ()
                {
                    alert("sdf");
                },
    init :     function ()
            {
                alert(this);
                this.inputField = document.getElementById("whiteplayer");
                this.addEvents(this.inputField, "change");
            },
    setTopLeftX:function (x)
                {
                    this.topLeftX = x + "px";
                },
    setTopLeftY:function (y)
                {
                    this.topLeftY = y + "px";
                }
};
function pageLoader() {
    IFrameDropDown.init();
}

window.onload = pageLoader;


i sad lepo radi
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: javascript kao Objektno Orjentisan jezik, osnove29.08.2009. u 23:19 - pre 178 meseci
to je ok resenje ali mozes da imas samo jednu instancu IFrameDropDown "klase", ako bi koristio constructor funkciju kao sto sam ja dao primer, onda bi mogao da imas koliko god hoces nezavisnih instanci "klase".
 
Odgovor na temu

kukipei
Niš

Član broj: 19564
Poruke: 164
*.adsl-a-2.sezampro.yu.

Sajt: www.bestbetinfo.com


Profil

icon Re: javascript kao Objektno Orjentisan jezik, osnove30.08.2009. u 07:41 - pre 178 meseci
da, da jasno mi je to.
 
Odgovor na temu

[es] :: Javascript i AJAX :: javascript kao Objektno Orjentisan jezik, osnove

[ Pregleda: 1731 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.