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 に答える