JavaScript に興味深い間違いがあります。オブジェクトのプロパティを変更できません。
Web SQL で選択するとオブジェクトが返されますが、プロパティを変更または削除しようとしても何も起こりません。この例では、オブジェクト「ノード」を作成します (Chrome で動作):
var getNode = function(callback){database = openDatabase('db', "1", "object store", 10);
database.transaction(function(tx) {
tx.executeSql("CREATE TABLE IF NOT EXISTS name (NodeId int, NodeName text)", [], function(tx) {
tx.executeSql("insert into name (NodeId,NodeName) values (1,'node')",[],function(tx){
tx.executeSql("select * from name where NodeId=1",[],function(tx,res){
callback(res.rows.item(0));
});
});
}, {});
});
}
getNode(function(node){
node.NodeId=22;//change nothing
delete node.NodeId;//return true, but doesn't delete
console.log(node);
});
プロパティを変更できないのはなぜですか? そして、どうすればそれを行うことができますか?