Could someone please explain function(tx)
in the code snippet below, from this page: http://www.webkit.org/demos/sticky-notes/.
Where and how is tx
assigned? I have looked here for information but am still in the dark.
What I think I understand is that that the saveAsNew method of the object is being defined as an anonymous function that first creates a timestamp and creates a local reference to itself (note=this), and then invokes the transaction method of the db object, providing to that method a parameter which is yet another anonymous function that has an argument tx. But I don't understand where tx is coming from.
.
.
.
saveAsNew: function()
{
this.timestamp = new Date().getTime();
var note = this;
db.transaction(function (tx)
{
tx.executeSql("INSERT INTO WebKitStickyNotes (id, note, timestamp, left, top, zindex) VALUES (?, ?, ?, ?, ?, ?)", [note.id, note.text, note.timestamp, note.left, note.top, note.zIndex]);
});
},
.
.
.
You could have used any variable, so long as in the your anonymous method definition you use the same variable. The transaction method will pass a value as the first parameter when calling your anonymous method and it will be assigned to tx.