Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    chiamare funzione passata come parametro

    Salve a tutti, avrei bisogno di un piccolo aiutino. Innanzitutto qualche riga di codice:

    Codice PHP:
    function f1()
    {
      
    alert("mi chiamo f1!");
    }

    function 
    caller(func)
    {
      
    //func.call() ???
    }

    caller(f1); 
    Come da titolo avrei bisogno di chiamare una funzione passata attraverso un parametro, non voglio usare statment da eseguire con l'eval() ma vorrei proprio lavorare sull'oggetto funzione. Ho trovato diversi esempi sul web dove usano la funzione apply o la proprietà prototype ma non riesco a farli funzionare . Nel caso dell'esempio la funzione caller dovrebbe riuscire a chiamare a sua volta la funzione f1 attraverso l'oggetto f1 stesso.

    Qualcuno può gentilmente aiutarmi ?

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    cosi dovrebbe andare:

    codice:
    function f1() 
    { 
      alert("mi chiamo f1!"); 
    } 
    
    function caller(func) 
    { 
      window[func]();
    } 
    
    caller("f1");

  3. #3
    perfetto, thankssss

  4. #4
    Che modo orrendo... E se lo scope non è global? Quel metodo non funziona. E nemmeno se l'ambiente di esecuzione non è il browser.

    Io farei così:
    codice:
    function toBeCalled(){alert('hello')}
    function caller(f, args){f.apply(this, args||[])} 
    caller(toBeCalled);
    max

    Silence is better than bullshit.
    @mmarcon
    jHERE, Maps made easy

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.