effel: function-Aufruf im requireModul

Beitrag lesen

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