[LatinaLUG] OT: oggetti in javascript

Simone Bravo simonebravo96@gmail.com
Ven 7 Ott 2016 07:27:10 CEST


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> 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> 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://www.llg.it
>> latina mailing list
>> latina@lists.linux.it
>> https://lists.linux.it/listinfo/latina
>>
>
>
> _______________________________________________
> http://www.llg.it
> latina mailing list
> latina@lists.linux.it
> https://lists.linux.it/listinfo/latina
>
>
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.linux.it/pipermail/latina/attachments/20161007/1135c85f/attachment.html>


Maggiori informazioni sulla lista latina