Meine Versuche, einer verschachtelten JavaScript-Funktion einen globalen Gültigkeitsbereich zu geben, funktionieren nicht:
%Vor%Das ist nur Neugierde - Sie haben Recht, dass ich wirklich keinen guten Grund habe, dies zu tun.
TIA - Ich habe keinen SO-Account, um auf deine Antworten zu antworten ...
function B;
erzeugt einfach einen Syntaxfehler.
Sie können einen Funktionsausdruck verwenden. Da Funktionen Objekte erster Klasse sind, können Sie einer Variablen eine Funktion zuweisen:
%Vor% Sie könnten auch A
eine Funktion zurückgeben lassen:
Dies würde die Beziehung zwischen A
und B
etwas deutlicher machen.
Natürlich können Sie immer eine globale Variable definieren, indem Sie var
weglassen, aber Sie sollten dies sehr sorgfältig verwenden. Verwenden Sie so wenig globale Variablen wie möglich.
Und ich wette, es gibt einen besseren Weg, es zu tun, je nachdem, was Ihr eigentliches Ziel ist.
Es scheint ein paar Probleme mit Ihrem Code zu geben
var B;
-Syntax Versuchen Sie Folgendes
%Vor%Sie sind nah dran, aber nicht ganz richtig.
Dies sind die kleinsten Änderungen an Ihrem Code, damit er wie gewünscht funktioniert:
%Vor%Tags und Links javascript scope function