Antwort an „effel“ verfassen

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

freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar

Ihre Identität in einem Cookie zu speichern erlaubt es Ihnen, Ihre Beiträge zu editieren. Außerdem müssen Sie dann bei neuen Beiträgen nicht mehr die Felder Name, E-Mail und Homepage ausfüllen.

abbrechen