Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. [Frage] Aufrufen einer Funktion mit Namen in einer Variable

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.6k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    848

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

[Frage] Aufrufen einer Funktion mit Namen in einer Variable

Geplant Angeheftet Gesperrt Verschoben JavaScript
3 Beiträge 2 Kommentatoren 289 Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • C Offline
    C Offline
    CruziX
    schrieb am zuletzt editiert von CruziX
    #1

    Hallo,

    hätte da mal eine Frage, zu JavaScript selbst habe ich schon Lösungen dazu gefunden, die sich aber nicht in ioBroker anwenden lassen.


    https://stackoverflow.com/questions/359788/how-to-execute-a-javascript-function-when-i-have-its-name-as-a-string

    Ich würde gerne eine Funktion aufrufen, dessen Name aber in einer Variable steht.

    Also bsp.

    function call(functionName){
        // aufruf der übergebenen Funktion
        functionName();
    }
    

    T 1 Antwort Letzte Antwort
    0
    • C CruziX

      Hallo,

      hätte da mal eine Frage, zu JavaScript selbst habe ich schon Lösungen dazu gefunden, die sich aber nicht in ioBroker anwenden lassen.


      https://stackoverflow.com/questions/359788/how-to-execute-a-javascript-function-when-i-have-its-name-as-a-string

      Ich würde gerne eine Funktion aufrufen, dessen Name aber in einer Variable steht.

      Also bsp.

      function call(functionName){
          // aufruf der übergebenen Funktion
          functionName();
      }
      

      T Nicht stören
      T Nicht stören
      ticaki
      schrieb am zuletzt editiert von ticaki
      #2

      @CruziX
      Das hier beispiel funktioniert, aber vielleicht meinst du auch was anderes:

      test(3,test2);
      function test(a, callback) {
          var test3 = function (a){ log(a); };
          var test4 = test3;
          callback(a);
          eval('test2(test4)');
      }
      function test2(b) {
          b(12);
      }
      

      Ah jetzt weiß ich was du meinst, ne sry hab ich nicht hinbekommen, als ich es versucht hatte. :)

      Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

      Spenden

      C 1 Antwort Letzte Antwort
      1
      • T ticaki

        @CruziX
        Das hier beispiel funktioniert, aber vielleicht meinst du auch was anderes:

        test(3,test2);
        function test(a, callback) {
            var test3 = function (a){ log(a); };
            var test4 = test3;
            callback(a);
            eval('test2(test4)');
        }
        function test2(b) {
            b(12);
        }
        

        Ah jetzt weiß ich was du meinst, ne sry hab ich nicht hinbekommen, als ich es versucht hatte. :)

        C Offline
        C Offline
        CruziX
        schrieb am zuletzt editiert von CruziX
        #3

        @ticaki Danke, hab eval auch schon gefunden, aber erst nicht so ganz verstanden.
        Ich hab gelesen, es wird empfohlen eher Function zu nutzen und das hat jetzt so geklappt:

        // Externe Function calls
        onMessage('call', (data, callback) => {console.log('Received data: ' + data); 
        Function('"use strict";'+data)(); callback(null, Date.now())});
        

        So kann ich jede Funktion der Skriptinstanz auch außerhalb aufrufen und muss gewisse Funktionen nicht in mehreren Skripts haben oder in globale setzen.

        Edit:
        Noch besser, dadurch, dass der Code jetzt in einem global Skript ist, kann ich Instanzübergreifend jede Funktion aufrufen ^^

        1 Antwort Letzte Antwort
        0
        Antworten
        • In einem neuen Thema antworten
        Anmelden zum Antworten
        • Älteste zuerst
        • Neuste zuerst
        • Meiste Stimmen


        Support us

        ioBroker
        Community Adapters
        Donate

        792

        Online

        32.6k

        Benutzer

        82.1k

        Themen

        1.3m

        Beiträge
        Community
        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
        ioBroker Community 2014-2025
        logo
        • Anmelden

        • Du hast noch kein Konto? Registrieren

        • Anmelden oder registrieren, um zu suchen
        • Erster Beitrag
          Letzter Beitrag
        0
        • Home
        • Aktuell
        • Tags
        • Ungelesen 0
        • Kategorien
        • Unreplied
        • Beliebt
        • GitHub
        • Docu
        • Hilfe