Hallo Rolf
es hat alles gut funktioniert mit dem repuire Modul. Jetzt habe ich noch eine Frage:
alter Aufruf im aufrufendem Modul
direct1 = require("./direct.js"); direct1.m(arg1,arg2,Prom,D,M,N,Tfile,ERGEB,FEHLER2);
Ergänzt durch durch function_name add ( ist eine function im aufruf.Modul)
direct1 = require("./direct.js"); direct1.m(arg1,arg2,Prom,D,M,N,Tfile,ERGEB,FEHLER2,add);
function m in Modul direct1 wird ergänzt:
function m(arg1,arg2,Prom,D,M,N,Tfile,ERGEB,FEHLER2,add){
// und Aufruf von add
add_ergebnis=add(32,48)
console.log(ergebnis) // 80
} //ende m
geht das ??
und noch etwas komplizierter:
function m(arg1,arg2,Prom,D,M,N,Tfile,ERGEB,FEHLER2,add){ ... ...
add_ergebnis=add(32,48)
console.log(add_ergenis) // -16
function add(arg1,arg2) {..
// ein anderer Ablauf nicht Addition, sondern Substraktion
}
..
}
Meine Erkenntnis: add im function m Aufruf ist eine "Argument"Variable und erhält die Referenz zu add im aufrufenden Modul. function add innerhalb der function erzeugt einen function_körper, der im Heap gespeichert wird und erhält gleichzeitig die Referenz dahin. Der Aufruf add, der VOR der neuen function add liegt, hat trotzdem das Ergebnis -16
dann: module.exports.add=add
Empfang im aufrufendem Modul:add = direct1.add dadurch erhält add im aufrufendem Modul diese neue Referenz und erzeugt mit
add(36,48) ebenfalls -16
natürlich solange Modul direct1 nicht gelöscht wird
ich bin gespannt auf Deine Antwort
und schon mal Danke
Effel