[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