[ alfa-pro @ 06.08.2013. 11:02 ] @
Pozdrav, da li ima neko ko moze malo bolje da mi pojasni constructor property za number objekat.
W3S = http://www.w3schools.com/jsref/jsref_constructor_number.asp

MDN = https://developer.mozilla.org/...Objects%2FNumber%2Fconstructor

Kako kaze MDN: constructor property vraca funkciju koja je kreirala instancu objekta.
A W3S postavi primer :

Code:

   var num = new Number();
   num.constructor;

  // >>  function Number() { [native code] } 


A po definiciji MDN trebalo bi da vrati funkciju koja je napravila instancu, sto ovaj gornji primer nema veze za ovim sada.
Npr ja kao test napravim 2 funkcije, u prvoj definisem Number() objekat a u drugoj pozovem tu funkciju. Zar ne bi trebalo da kada pozovem constructor u drugoj funkciji
kao output da dobijem ime prve funkcije ?
Code:

        <script>
                function numb(obj) {
                    
                    var num = new Number(5);

                    var obj = document.getElementById("demo");
                    obj.innerHTML = num;
                    
                    return num;
                }

                
                function test(obj) {
                    var nums = new Number(numb(this));
                    obj = document.getElementById("demo");

                    obj = innerHTML = nums.constructor;
                    return obj;
                }
        
        </script>

         <p id="demo">RESULT :  </p>

        <button onclick="test(this)">Try it</button>


Kao output dobijam 5 a ne kao sto je rekao MDN ime funkcije koje je kreiralo instancu objekta.
Uostalom u cemu je poenta ovog propertija, i gde se on moze iskoristiti? Ako neko malo vise poznaje ovu tematiku bicu mu zahvalan ako mi pojasni, jer sam bas znatizeljan oko ovoga.

Unapred hvala
[ Nikola Poša @ 06.08.2013. 15:27 ] @
Pretpostavljam da si gledao/isprobao i ove stvari i primere:
https://developer.mozilla.org/...bal_Objects/Object/constructor
http://www.w3schools.com/jsref/jsref_constructor_math.asp

Ne znam što si napravio tako kompleksan snippet za testiranje tog constructor property-a? Nije mi jasan ovaj deo u test(): obj = innerHTML = nums.constructor;. Jel to obj = innerHTML slucajno, namerno?

I da, constructor property vraća referencu na odgovarajuću funkciju, ali kada pokušaš da je ispišeš, rezultat bi trebao da bude potpis te funkcije.
[ alfa-pro @ 06.08.2013. 16:26 ] @
A joj vidi stvarno sta sam ja napisao obj = innerHTML = nums.constructor;

a trebao sam obj. innerHTML = nums.constructor; (pisao sam iz glave dok sam kucao post)


Da posle sem nasao na ove linkove gledao sam i malo sam skontao neke stvari.

Citat:
I da, constructor property vraća referencu na odgovarajuću funkciju, ali kada pokušaš da je ispišeš, rezultat bi trebao da bude potpis te funkcije.

Cek i cemu onda, mislim kakvu ulogu ima taj property. Mislim nisam svestan gde bi ja to mogao da iskoristim kad mi on samo vrati ime funkcije.