簡體   English   中英

在for循環中創建新對象-Javascript

[英]Create new objects in for loop - Javascript

我有一個頁面,可根據所選條件顯示圖形。 每個圖都是一個單獨的實例,需要自己的對象引用。 我在for循環中創建了新對象,但是如何在特定功能之外訪問這些對象。

var chartObject = new Array();

function runInit () {
$(document).ready(function(){
    $("#submit").click(function() { 
        $("#pointList :selected").each(function(){
            selectedValues.push($(this).val()); 
        });

        for(var j = 0; j < selectedValues.length; j++)
        {
            chartObject[j] = new Object();

            var charts = [];

            charts.push( drawDataView( demos[demo] ) );

            chartObject[j].allDataLoaded = function( ) {
                //more code             
            };
        }
    }); 
});
}

我需要在另一個函數中使用chartObject[j]

function drawDataView ( demo ) {
    var dataCache = new DataCache( chartObject[j], dataSource );
}

顯然j沒有在drawDataView定義,那么如何在該for循環中創建新對象並在其他地方使用該變量?

任何建議表示贊賞!

您可以將j作為額外參數傳遞給drawDataView函數:

function drawDataView(demo, j) {
    var dataCache = new DataCache( chartObject[j], dataSource );
}

並這樣稱呼它:

charts.push(drawDataView(demos[demo], j));

更新

由於您沒有在drawDataView函數中返回任何內容,因此您的數組將被undefined填充。 我認為您想添加return dataCache; 在末尾。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM