• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Frage bzgl. des Zugriffs auf eine Variable

azbycx

New member
Sehr geehrte Community,

ich habe mich beim programmieren einer Website gerade ziemlich fest gefahren und damit ein großes Problem, was offenbar daraus resultiert, dass mir enorme Grundlagen zu Javascript fehlen (seit vielen Jahren das letzte Mal programmiert und auch nur C). Ich bitte vielmals um eure Hilfe!

Ich habe eine Klasse Order, die wie folgt aussieht:
Code:
function Order() {
	//[diverse andere Variablen]
	this.upload = {
		title: [],
		interpreter: [],
		purpose: ['hallo'],
	};
}

Zudem eine Funktion updateUploads:
Code:
function updateUploads() {
	//alert('Was muss hier rein?');
}

Die Funktion updateUploads wird wie folgt aufgerufen:
Code:
function uploadFile()
{
	client.onload = function(e) {
		updateUploads();
	}
}

Ich möchte nun über alert() in der Funktion updateUploads() den Wert "hallo" aus dem Array upload.purpose der Klasse Order ausgeben lassen. Ist das irgendwie möglich ohne die komplette Stuktur zu verändern? Herzlichen Dank im Voraus.

Viele Grüße
azbycx
 
Entweder via. globaler Variable oder du gibts bei der Funktion Order() das Array via. return zurück. Dann kannst du auch auf die Werte zugreifen. Vermutlich ist die erste Lösung (wie sie mein Vorredner auch vorgeschlagen hat) die einfachere.
 
***hust*** ihr schlagt nicht wirklich vor da jetzt eine komplett unnötige globale Variable einzuführen...

@rico: Order() ist ein Constructor und muss deswegen immer das neu erzeugte Objekt zurückliefern.

@azbycx: Wo ist denn die uploadFile()-Funktion definiert? Was ist die (globale - tztztz...) Variable client? Wo ist updateUploads() definiert?
Meistens kann man solche Sachen ziemlich gut kapseln, ohne eine unnötige (und damit gefährliche) globale Variable zu verwenden.
 
@kkapsner: Woran siehst du an den paar Zeilen Code, dass Order() der Konstruktor ist?


Edit: Hat sich erledigt, er schreibt ja "Klasse Order()"... Sehr aufmerksam gelesen, dass habe ich glatt überlesen... :)
@azbycx: Dann macht meine Antwort auch wenig Sinn, vergiss sie. Zeigt uns doch bitte mal mehr Code bzw. die von kkapsner gefragten Dinge.
 
Zuletzt bearbeitet:
Zurück
Oben