Hallo,
db.transaction(function(tx) {
tx.executeSql("CREATE TABLE Klasse (id REAL UNIQUE, name TEXT, vorname TEXT, klasse TEXT)");
});
>
> dass ich nicht verstehe, dass tx ein transaction-Objekt ist und damit tx.executeSql geht. E gibt doch nirgends eine Zuweisung der Art tx=transaction?
Dort wird eine sogenannter Funktionsausdruck notiert. Der hat keinen Namen, die Funktion wird also nirgendwo gespeichert, sondern wird lediglich als Parameter an executeSql übergeben. Diese Funktion nimmt einen Parameter entgegen, der heißt tx. Damit sie funktioniert, muss ihr also das Transaktionsobjekt als Parameter übergeben werden. Und genau das macht die transaction-Methode, sie ruft die als Parameter angegebene Callback-Funktion auf und übergibt ihr das Transaktionsobjekt. So arbeiten Callbacks, genau das wollte Daniels Beispiel »iterate(meinArray, function(element) {alert(element});| veranschaulichen.
Mathias
--
[SELFHTML aktuell Weblog](http://aktuell.de.selfhtml.org/weblog/)