0

私は JavaScript 初心者なので、以下のコードで作成者が Avengers だけでなく Avengers.cast を使用する理由がわかりませんか?

var myApp = angular.module('myApp', []);
    myApp.factory('Avengers', function() {
        var Avengers = {};
        Avengers.cast = [{
            name: "Robert Downey Jr.",
            character: "Tony Stark / Iron Man"
        }];
        return Avengers;
    })


function AvengersCtrl($scope, Avengers) {
    $scope.avengers = Avengers;
}
4

3 に答える 3

1
    var Avengers = {};

これは、新しいオブジェクトを作成し、変数 Avengers で参照することを意味します。

    Avengers.cast = [{
        name: "Robert Downey Jr.",
        character: "Tony Stark / Iron Man"
    }];

これは、作成したばかりのオブジェクトに というプロパティがあることを意味しますcast。これは配列であり、オブジェクトを 1 つだけ含みます (文字列値を持つ 2 つのプロパティを持ちます)。

于 2014-02-25T11:59:47.100 に答える
0

特定の質問に答えるには、情報を渡す方法が複数あります。

Avengers作成者は、配列を持つオブジェクトではなく、配列だけのサービスを作成することもできました。

あなたが拾っているように見えるので、その選択はやや恣意的でした。

つまり、作成者がAvengersより多くのプロパティを使用してサービスを拡張することを計画している場合、それが配列を持つオブジェクトが選択された理由です。

ただし、それを行うだけの場合はチェックアウトする必要がありますconstant-おそらく、factory.

于 2014-02-25T12:06:34.400 に答える