- 论坛徽章:
- 1
|
LZ看手册的分析能力还有待提高很多啊,进步前景非常可观。
Executing queries
The database interface provides asynchronous access through a transaction paradigm:
transaction.executeSQL( SQLStatement, SQLParameters, ResultsetCallback, ErrorCallback )
...and this is how it looks in action:
db.transaction(function(tx)
{
tx.executeSql('SELECT * FROM MyTable WHERE CategoryField = ?',
[ selectedCategory ],
function (tx, rs) { displayMyResult(rs); },
function (tx, err) { displayMyError(err); } );
});
This fetching example shows how to get data from the DB, or more generally: how to execute arbitrary SQL statements. In this example displayMyResult(rs) and displayMyError(err) are just placeholders for whatever you want to do with the result once it arrives.
你看的应该和上面的类似。
我们来分析:适当变化一下子,你更好理解:
function createTable() {
db.transaction(
function(t){
t.executeSql(相应的各种参数)
}
);
}
很明显,t.executeSql的t来自function(t)的t,两者等同,这个是基础知识,无法理解的先看一本基础资料,否则无法继续了。
function(t)这个t是函数的参数,也就是调用函数的时候传递什么就是什么,可以叫t,也可以叫阿猫阿狗,只有函数体内不跟着叫就成了。
db.transaction的参数,可以是函数,这里用的是js的匿名函数,所以直接function(t)了,调用的时候,会把db.transaction作为这个匿名函数的参数传递过去,作用上可以把t当作db.transaction来看待,就成了。 |
|