NEWS
Scripteditor Unterschied zwischen common & global
-
Die Skripte im globalen Ordnern werden im Hintergrund vor allen anderen Skripten kopiert.
Damit kann man dann globale Funktionen realisieren, die in jedem Skript zur Verfügung stehen.
Habe ich z.B. mit der Funktion logs() gemacht, die ein skriptindividuelles Login je Skript ermöglicht, siehe: http://forum.iobroker.net/viewtopic.php … 513#p22194.
Achtung: Variablen stehen nicht global zur Verfügung, da es ja jedesmal ein neues Skript (global + eigentliche Skript) gibt. Da muss man über Datenpunkte gehen.
-
Hallo,
steht auch so in der http://www.iobroker.net/?page_id=156&lang=de#Ordner-_und_Dateiliste :D :D
Gruß
Pix
-
Liebe Leute,
der Thread ist zwar schon etwas älter, aber folgende Frage:
Macht es Sinn, ein globales Script zu erstellen, in dem man die einzelnen Aktoren in ID-Variablen packt und so in allen Scripten immer alle Aktoren "im Zugriff" und mit "selbem Namen" hat?
Oder ist das zu viel "Overhead" speziell für kleinere Programme? Hat das negative Folgen auf den Speicher?
Liebe Grüße
tom
-
@etv:in dem man die einzelnen Aktoren in ID-Variablen packt und so in allen Scripten immer alle Aktoren "im Zugriff" und mit "selbem Namen" hat? `
:?: Beispiel :?:
@etv:Hat das negative Folgen auf den Speicher? `
Ja. Alle globalen Skripte werden in alle anderen (nicht globale) Skripte kopiert und compiliert. Sie belegen somit jedesmal RAM, unabhängig davon, ob die im globalen Skript enthaltenen Funktionen aufgerufen werden oder nicht. -
Wenn Du allen Datenpunkten <u>eindeutige</u>, gut strukturierte Namen verpasst, kannst Du https://github.com/ioBroker/ioBroker.javascript/blob/master/doc/en/javascript.md#getidbyname verwenden.