JavaScript에서 재미있는 실수가 있습니다. 개체의 속성을 변경할 수 없습니다.
Web SQL에서 선택하면 객체가 반환되지만 속성을 변경하거나 삭제하려고하면 아무 일도 일어나지 않습니다.JavaScript의 객체 속성 변경되지 않음
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);
});
이유는 속성을 변경할 수 없습니다 :이 예제에서는 객체 "노드"(크롬에서 작업)을 생성? 어떻게해야합니까?
왜 작동하지 않는다고하니? 22를 할당하고 있으므로 22가되어야합니다. node.NodeId가 "1"이면 "22"를 할당하기 전에 디버그 했습니까? – ronnyfm
예, 나는 node.NodeId가 1이고, 그 다음에'node.NodeId = 22'를하고, 22를 반환하지만,'console.log' 나'alert'에 의해 다시 검사 할 때 여전히 " 22 ". –