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

    caller e funzioni anonime

    vorrei usare la proprietà caller di una funzione F in modo da verificare chi la chiama e diversificarne l'azione in riferimento al chiamante appunto.

    il problema è che i "chiamanti" sono tutte fuinzioni anonime! e la F.caller mi stampa il codice del chiamante invece del nome (cvha appunto non ha dato che è anonima)

    ce modo di bypassare il problema?

  2. #2
    Prima di tutto attento a caller perchè non funziona con Opera; una tecnica simile a caller è quella di creare diverse classi che condividono lo stesso metodo; il metodo poi controlla il this.constructor per vedere di quale classe si tratta.

    Ritornando alla tua domanda non capisco dove è il problema, anche se una funzione è anonima ci dovrà essere da qualche parte nel tuo listato un riferimento alla stessa tramite una cosa del genere
    var fn = function() { //ecc...

    Oppure al posto del nome puoi usare la versione di stringa della funzione stessa ( fn.toString() ), ovviamente in questo caso se due funzioni sono diverse ma fanno la stessa cosa veranno considerate uguali...

    Attento che comunque la versione di stringa di una funzione non restituisce mai il nome della funzione, devi ottenerlo tramite una regex o un substring.

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.