Visualizzazione dei risultati da 1 a 6 su 6

Visualizzazione discussione

  1. #3
    Utente di HTML.it
    Registrato dal
    Nov 2016
    Messaggi
    15
    Quote Originariamente inviata da lucavizzi Visualizza il messaggio
    Il prototipo è proprio "Quadrato", il costruttore.

    codice:
    function Quadrato(lato){
        this.figura = "Quadrato";
        this.lato=lato; 
        this.perimetro = function(){return lato*4}
    }

    Come suggerisce il nome "prototipo", Quadrato è un modello che verrà usato per tutte le istanze, appunto un prototipo.




    La proprietà "prototype" ti permette di modificare il prototipo.

    Se tu avessi:
    codice:
    var quadrato1 = new Quadrato(8)
    e volessi aggiungere la proprietà "colore", scriveresti:
    codice:
    quadrato1.colore='rosso';
    Non potresti però usare lo stesso sistema per modificare il prototipo, in quanto non è un oggetto.
    Per modificare il prototipo puoi usare il metodo "prototype":

    codice:
    function Quadrato(lato){
        this.figura = "Quadrato";
        this.lato=lato; 
        this.perimetro = function(){return lato*4}
    }
    Quadrato.prototype.colore = "Rosso";
    
    var square= new Quadrato(5);
    
    alert(square.colore);
    Oltre a poter aggiungere delle proprietà, con il metodo prototype, puoi anche aggiungere metodi al tuo prototipo:

    codice:
    function Quadrato(lato){
        this.figura = "Quadrato";
        this.lato=lato; 
        this.perimetro = function(){return lato*4}
    }
    
    Quadrato.prototype.area= function(){
       return this.lato*this.lato;
    }
    Anzitutto ti ringrazio della risposta. Ma non sono sicura di averla compreso a pieno.

    Allora diciamo che quando creo un costruttore, in automatico al suo interno, viene creata una proprietà prototype.

    Questa proprietà (che serve per modificare il costruttore) cosa è esattamente (un oggetto con quali metodi e proprietà?).

    Ma sopratutto se io istanzio un oggetto da Quadrato() posso accedere al prototype anche dall'oggetto istanziato?

    Esempio

    [code]
    function Quadrato(lato){
    this.figura = "Quadrato";
    this.lato=lato;
    this.perimetro = function(){return lato*4}
    }
    var quadrato1 = new Quadrato(7)

    quadrato1.prototype.area= function(){
    return this.lato*this.lato;
    }

    Questo codice qua sopra ha senso? Cosa fa succedere?
    Ultima modifica di ThankGod; 13-03-2017 a 00:31

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.