0

関数付きのJavaScriptコードがあります:

function convertTime()
function loadZive()

私が次のコードを持っているとしましょう:

function convertTime(){
    alert(exampleVariable);
    };
function loadZive(){
    var exampleVariable = 3;
    convertTime();
    };

convertTime()関数がにアクセスできないようですexampleVariable。回避策はありますか?

コード全体は次のとおりです。

function convertTime(publishedDate){
    alert(publishedDate);
    var date = publishedDate;
    var publishedDay = date.toLocaleDateString();
    var publishedHour = date.getHours();            //nemozno pouzit toLocaleTimeString (cielovy format ma byt bez sekund)
    if (publishedHour < 10){
        publishedHour = "0" + publishedHour;
    };
    var publishedMinute = date.getMinutes();        //nacitanie hodin a minut
    if (publishedMinute < 10){
        publishedMinute = "0" + publishedMinute;
    };
    var publishedTime = publishedHour +":"+ publishedMinute;    //ich nasledne spojenie do casoveho formatu HH:MM
    var publishedDateConverted = publishedDay +", "+ publishedTime;
};
function loadZive(publishedDateConverted){
google.load("feeds", "1");  
    function initialize() {
        var feed = new google.feeds.Feed("http://www.zive.sk/rss/sc-47/default.aspx");
        feed.setNumEntries(window.localStorage.getItem("entriesNumber"));
        feed.load(function(result) {
            if (!result.error) {
                var feedlist = document.getElementById("feedZive");
                for (var i = 0; i < result.feed.entries.length; i++) {
                    var li = document.createElement("li");
                    var entry = result.feed.entries[i];
                    var A = document.createElement("A");
                    var descriptionSettings = window.localStorage.getItem("descriptionSettings");
                    if (descriptionSettings=="true"){
                        var h3 = document.createElement("h3");
                        var p = document.createElement("p");
                        var pDate = document.createElement("p");
                        pDate.setAttribute("class","ui-li-aside");
                        var publishedDate = new Date(entry.publishedDate);
                        convertTime();
                        pDate.appendChild(document.createTextNode(publishedDateConverted));
                        h3.appendChild(document.createTextNode(entry.title));
                        p.appendChild(document.createTextNode(entry.content));
                        A.setAttribute("href",entry.link);
                        A.appendChild(h3);
                        A.appendChild(p);
                        A.appendChild(pDate);
                        }
                    else{
                        A.setAttribute("href",entry.link);
                        A.appendChild(document.createTextNode(entry.title));
                    };
                    li.appendChild(A);
                    feedlist.appendChild(li);
                }
                $("#feedZive").listview("refresh");
            }
        });
    }
    google.setOnLoadCallback(initialize);   
};

アラート結果は未定義です。 PSexampleVariableユーザーが定義していません。フィードから読み込まれるため、関数の前に定義することはできませんconvertTime()

4

2 に答える 2

3

ダニーが言ったように、またはこの方法で変数を渡すこともできます:

function convertTime(exampleVariable){
    alert(exampleVariable);
};
function loadZive(){
    var exampleVariable = 3;
    convertTime(exampleVariable);
};
于 2012-09-13T07:08:29.730 に答える
1

varから削除します。loadZive()これにより、変数はローカルloadZive()のみになります。

exampleVariableまたは、パラメータとしてに渡しますconvertTime()

于 2012-09-13T07:07:27.783 に答える