我在javascript中更改全局变量的值时出现问题...这是完整的代码。
//Initialize cordoba
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady(){
var undefined;
var phone_number;
//change phone_number
checkData();
//alert the new phone_number
alert(phone_number);
function checkData(){
var db = window.openDatabase("Demo", "1.0", "Demo", 512000);
db.transaction(selectProfile,DBerror);
}
function selectProfile(db){
db.executeSql('SELECT phone_number FROM profile', [],
function(db,results){
if(results.rows.length > 0){
//change the global variable(phone_number)
phone_number = results.rows.item(0).phone_number;
}else{location.href = 'index.html';}
},
DBerror
);
}
}
在每个页面中,我需要从数据库中获取电话号码值,将全局变量(phone_number)更改为该值并在整个脚本中使用它。 感谢
答案 0 :(得分:1)
在任何函数之外声明phone_number
应该有效。
您还可以使用window.phone_number
来保证全球范围。但这被认为是不好的做法?我相信有经验丰富的人比我能解释原因。