1

我在更改 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) 更改为该值并在整个脚本中使用它。谢谢

4

1 回答 1

1

在任何函数之外声明phone_number都应该起作用。

您还可以使用window.phone_number来保证全局范围。但这被认为是不好的做法?我敢肯定,有比我能解释原因的经验丰富得多的人。

于 2013-04-29T19:12:22.550 回答