3

これはコードです:

(function(Info, undefined) {
    var createInfoTableForFeature = function (obj) {
        var data2form = {};
        data2form.name = obj.name;
        data2form.state = obj.state;
        data2form.stateid=obj.stateId;
        data2form.city = obj.city;
        data2form.cityId=obj.cityId;
        data2form.sector = obj.sector;
        data2form.sectorId=obj.sectorId;
        data2form.municipality = obj.municipality;
        data2form.municipalityId=obj.municipalityId;
        data2form.parish = obj.parish;
        data2form.parishId = obj.parishId; 
        data2form.postcode = obj.postcode;
    }
    Info.copy2form = function(data){
        console.log(data);
    }
})(window.Info = window.Info || {});

私が電話するときInfo.copy2form(data2form)data2formundefined

4

3 に答える 3

5

グローバルになりたい場合は、変数を宣言する前にdata2formdeキーワードを削除して、グローバルにする必要があります。vardata2form

コンテナ内以外のどこからでもアクセスInfoできるようにする場合は、次のように宣言できます。

Info.data2form = {};

次に、次のように関数を呼び出します。

Info.copy2form(Info.data2form)
于 2012-07-12T21:40:14.593 に答える
3

あなたの投稿は今のところJSONに関連しているようには見えません。

data2formは関数の外に存在しません。これをwindow.data2formに割り当てるか、関数の外部でvardata2formを定義する必要があります。

于 2012-07-12T21:19:44.093 に答える
1

data2formは無名関数(createInfoTableForFeature)内のローカル変数であるため、これは機能しません。

これは1000のソリューションの1つです。

function createInfoTableForFeature(obj) {
    var data2form = {};
    data2form.name = obj.name;

    data2form.state = obj.state;
    data2form.stateid=obj.stateId;

    data2form.city = obj.city;
    data2form.cityId=obj.cityId;

    data2form.sector = obj.sector;
    data2form.sectorId=obj.sectorId;

    data2form.municipality = obj.municipality;
    data2form.municipalityId=obj.municipalityId;

    data2form.parish = obj.parish;
    data2form.parishId = obj.parishId; 

    data2form.postcode = obj.postcode;

    return data2form;
}

var data2form = createInfoTableForFeature(obj);
Info.copy2form(data2form);
于 2012-07-12T21:24:06.030 に答える