-1

連想配列があり、次のように始まるスイッチ関数を作成しています。

switch (Years['year'].StartDay) {

それが入っている関数は、次のように、呼び出された値を渡し、その中に値yearを持っています:

function CalendarData(year, month) {
    var Years = new Object();
    Years.['2013'].StartDay = 'Sunday';
    switch (Years['year'].StartDay) {
        case 'Sunday':
        this.Day = 1;
        break;
    }
}

次のように、新しいオブジェクトを作成し、オブジェクトからデータを取得したいと思います。

var CalendarDay = new CalendarData('2013','February');

問題はそれが読んでいないことですYears['year'].StartDay

4

3 に答える 3

1
Years['year'].StartDay

する必要があります

Years[year].StartDay

また、データ構造も構築する必要があります。Perl のような自動有効化はありません。

var Years = new Object();
Years.['2013'].StartDay = 'Sunday';

する必要があります

var Years = {};
Years[2013] = {};
Years[2013].StartDay = 'Sunday';

または(これが柔軟な場合はなし):

var Years = { '2013' : { StartDay : 'Sunday' } };
于 2013-08-23T02:54:38.763 に答える
1

変数の周りに配置することになっていない引用符を削除します

それ以外の

Years['year'].StartDay

置く

Years[year].StartDay
于 2013-08-23T02:56:20.493 に答える