2


0

変数スコープ:クロスクラス関数呼び出し

「vehicle」オブジェクトと「product」オブジェクトがあり、製品内の関数を呼び出すためにvehicleが必要です。 私はそれを理解することができないようですが、ここで何をすべきですか?

var vehicle = function () {
    return {
        init: function () {
            var that = this;

            jQuery('.vehicle-year-profile .options .delete').bind('click', function (e) {
                e.preventDefault();
                that.remove(jQuery(e.currentTarget).parents('.vehicle-year-profile'));
            });

            jQuery('.vehicle-year-profile .options .edit').bind('click', function (e) {
                e.preventDefault();
                that.edit(jQuery(e.currentTarget).parents('.vehicle-year-profile').attr('id'));
            });

            jQuery('#association-detail .save').bind('click', function (e) {
                e.preventDefault();
                that.save();
            });
        },
        edit: function (id) {},
        save: function () {},
        remove: function (el) {},
        reset: function () {}
    }
}();

var product = function () {
    return {
        refreshHistory: function () {}
    };
}();

1 Answer


2


やってみました

product.refreshHistory();

?? 変数 "product"はグローバル(または少なくとも_relatively_ global)であるため、 "vehicle"オブジェクト内のコードはそれを直接参照できます。