Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di nourdine
    Registrato dal
    Nov 2005
    Messaggi
    1,130

    puntare alle propriata' di istanza di un letterale oggetto

    In un letterale oggetto del tipo:

    Codice PHP:
    var = {
       
    prop"ciao",
       
    metodo1: function(){
          
    alert(this.prop);
       },
       
    metodo2: function(){
          
    alert(O.prop);
       }

    entrambi i metodi (metodo1, metodo2) puntano alla stessa proprieta' (prop) e la allertano nel caso siano invocati. tutto ok fino a qui!

    metodo1 e' pero' piu' elegante perche', allorche' uno decida di rinominare l'oggetto O, la referenza rimane alla proprieta' "prop" di QUESTO particolare oggetto (vedi uso del this!). Nel caso di metodo2 bisognerebbe invece editare anche il metodo e cambiare il nome dell'oggetto!

    al contrario metodo2 e' piu' versatile (in realta' dipende dagli scopi) nel caso in cui esso sia registrato come event listener su un certo elemento del DOM. Se usassimo il metodo1 il this sarebbe riferito ora al nodo del DOM stesso e la proprieta' "prop" potrebbe non essere definita in relazione a tale elemento. yes? tutto chiaro?

    La mia domanda quindi e':

    ci sono altri motivi per preferire l'uso di una tecnica o l'altra per riferirsi alle varibili di istanza di un letterale oggetto? meglio this.nomeProp o nomeOggetto.nomeProp? Quali sono le altre casistiche da considerare?

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    metodo1 e' pero' piu' elegante perche', allorche' uno decida di rinominare l'oggetto O, la referenza rimane alla proprieta' "prop" di QUESTO particolare oggetto (vedi uso del this!). Nel caso di metodo2 bisognerebbe invece editare anche il metodo e cambiare il nome dell'oggetto!
    Più che altro usi this se prevedi di creare più istanze dell'oggetto O
    e se prevedi che la proprietà 'prop' debba essere legata all'istanza
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  3. #3
    Utente di HTML.it L'avatar di nourdine
    Registrato dal
    Nov 2005
    Messaggi
    1,130
    si questo lo so! Infatti ho specificato che stavo parlando di "letterali oggetto". Questi ultimi di solito vengono definiti "a mano" e non e' previsto processo di istanziazione (se non quello operato a runtime quando l'oggetto viene processato dall'interprete).

    quindi che ti risulti usare this e il nome dell'oggetto e' la stessa cosa? mi smebrava di aver letto che ci sono dei bug relativi al this in certi brpwser ma forse mi sbaglio.

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.