[LatinaLUG] OT: oggetti in javascript

Jusi Pomenti jusipom@gmail.com
Ven 7 Ott 2016 08:56:54 CEST


grazie


Il 07/10/2016 07:27, Simone Bravo ha scritto:
>
> Se scrivi il nome di una funzione senza parentesi ti ritorna il corpo 
> della funzione, spesso lo uso dalla console di Chrome se devo fare 
> qualche prova senza dover modificare il codice
>
>
> Il 06 ott 2016 21:59, "Mirko Prota" <mirkos93@gmail.com 
> <mailto:mirkos93@gmail.com>> ha scritto:
>
>     Ciao Jusi,
>     per chiamare la funzione "per" all'interno di rec, dovresti
>     aggiungere un paio di parentesi:
>
>     <script language="javascript" type="text/javascript">
>     var r=new rec(7,4);
>     s="x="+r.x+"<br>y="+r.y+"<br>";
>     s+="area:"+r.area+"<br>perimetro="+r.per()+"<br>";
>     document.write(s);
>     </script>
>
>     Ambiguo comunque il fatto che ti printi il testo della funzione..
>
>     Ciao
>     Mirko
>
>     Il giorno 6 ottobre 2016 21:35, Jusi Pomenti <jusipom@gmail.com
>     <mailto:jusipom@gmail.com>> ha scritto:
>
>         Ciao,
>
>         scusate se  sono OT,ma ho un problema nella definizione di
>         oggetti javascript.Non avendoli mai usati,ho scritto questo
>         semplice  script per capire come funzionano gli oggetti in
>         questo linguaggio:
>
>         <script language="javascript" type="text/javascript">
>         function calcola_area(x,y)
>                   {
>                        return x*y;
>                   }
>         function rec(x,y)
>             {
>                this.x=x;
>                this.y=y;
>                this.area=calcola_area(this.x,this.y);
>                this.per=function()
>                             { return 2*(this.x*this.y) };
>             }
>         </script>
>
>         richiamandolo cosi':
>
>         <script language="javascript" type="text/javascript">
>         var r=new rec(7,4);
>         s="x="+r.x+"<br>y="+r.y+"<br>";
>         s+="area:"+r.area+"<br>perimetro="+r.per+"<br>";
>         document.write(s);
>         </script>
>
>         l'output che ottengo  è::
>
>         x=7
>         y=4
>         area:28
>         perimetro=function () { return 2*(this.x*this.y) }
>
>         L'area viene calcolata bene ma da una funzione esterna
>         all'oggetto per cui non  rispetta la regola
>         dell'incapsulamento propria dell'OOP;
>
>         La funzione "per",interna all'oggetto,dovrebbe  essere il 
>         modo corretto di definire un  metodo e dovrebbe restituire 22
>         invece restituisce il  testo della funzione stessa;perche'?
>
>         Ciao e grazie
>
>         Jusi
>
>
>         -- 
>         -------------------------------
>         Junior Silvestro Pomenti
>         Latina
>         Email: jusipom(at)gmail.com <http://gmail.com>
>         -------------------------------
>
>         _______________________________________________
>         http://www.llg.it
>         latina mailing list
>         latina@lists.linux.it <mailto:latina@lists.linux.it>
>         https://lists.linux.it/listinfo/latina
>         <https://lists.linux.it/listinfo/latina>
>
>
>
>     _______________________________________________
>     http://www.llg.it
>     latina mailing list
>     latina@lists.linux.it <mailto:latina@lists.linux.it>
>     https://lists.linux.it/listinfo/latina
>     <https://lists.linux.it/listinfo/latina>
>
>
>
> _______________________________________________
> http://www.llg.it
> latina mailing list
> latina@lists.linux.it
> https://lists.linux.it/listinfo/latina

-- 
-------------------------------
Junior Silvestro Pomenti
Latina
Email: jusipom(at)gmail.com
-------------------------------

-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.linux.it/pipermail/latina/attachments/20161007/9dac4692/attachment-0001.html>


Maggiori informazioni sulla lista latina