我正在使用bind,以下是有效的:
webSQL.InsertTransaction = function(qry,CurrentRow) {
var local = {};
// Clone the webSQL.Insert function and add 2 parameters:
local.InsertTransaction = webSQL.Insert.bind(this,qry,CurrentRow);
// Call webSQL.Insert(qry,CurrentRow,Transaction)
dbo.transaction(local.InsertTransaction);
}
webSQL.Insert = function(qry,CurrentRow,Transaction) {}
我想进一步简化它。我可以以某种方式不必指定参数范围内的2个变量,而是执行类似的操作:
local.InsertTransaction = webSQL.Insert.bind(webSQL.InsertTransaction)
也许。我的想法是,然后webSQL.Insert可以从它的“this.arguments”中引用qry和CurrentRow。
答案 0 :(得分:2)
我不确定您为什么首先使用分配给local
变量的对象。
你所做的只是给它一个功能,然后把这个功能拿回来。为什么不跳过那一步?
webSQL.InsertTransaction = function(qry,CurrentRow) {
dbo.transaction(webSQL.Insert.bind(this,qry,CurrentRow));
}