Javascript 重写JS函数

Javascript 重写JS函数,javascript,Javascript,这是我正在使用的框架中的一个原始函数。它是一个基于Python的框架,带有一点Javascript。由于我对JS知之甚少,我想问一个问题 如何覆盖init:function(父级,选项)part 在这个函数中,我只需要改变一件事。 第57行 display\u order:order.ASC到order.DESC 所以我需要在super中调用这个函数并改变参数 var Thread = Widget.extend({ className: 'o_mail_thread', e

这是我正在使用的框架中的一个原始函数。它是一个基于Python的框架,带有一点Javascript。由于我对JS知之甚少,我想问一个问题

如何覆盖
init:function(父级,选项)
part

在这个函数中,我只需要改变一件事。 第57行

display\u order:order.ASC
order.DESC

所以我需要在super中调用这个函数并改变参数

var Thread = Widget.extend({
    className: 'o_mail_thread',

    events: {
        "click a": "on_click_redirect",
        "click img": "on_click_redirect",
        "click strong": "on_click_redirect",
        "click .o_thread_show_more": "on_click_show_more",
        "click .o_thread_message_needaction": function (event) {
            var message_id = $(event.currentTarget).data('message-id');
            this.trigger("mark_as_read", message_id);
        },
        "click .o_thread_message_star": function (event) {
            var message_id = $(event.currentTarget).data('message-id');
            this.trigger("toggle_star_status", message_id);
        },
        "click .o_thread_message_reply": function (event) {
            this.selected_id = $(event.currentTarget).data('message-id');
            this.$('.o_thread_message').removeClass('o_thread_selected_message');
            this.$('.o_thread_message[data-message-id=' + this.selected_id + ']')
                .addClass('o_thread_selected_message');
            this.trigger('select_message', this.selected_id);
            event.stopPropagation();
        },
        "click .oe_mail_expand": function (event) {
            event.preventDefault();
            var $message = $(event.currentTarget).parents('.o_thread_message');
            $message.addClass('o_message_expanded');
            this.expanded_msg_ids.push($message.data('message-id'));
        },
        "click .o_thread_message": function (event) {
            $(event.currentTarget).toggleClass('o_thread_selected_message');
        },
        "click": function () {
            if (this.selected_id) {
                this.unselect();
                this.trigger('unselect_message');
            }
        },
    },

    init: function (parent, options) {
        this._super.apply(this, arguments);
        this.options = _.defaults(options || {}, {
            display_order: ORDER.ASC,
            display_needactions: true,
            display_stars: true,
            display_document_link: true,
            display_avatar: true,
            shorten_messages: true,
            squash_close_messages: true,
            display_reply_icon: false,
        });
        this.expanded_msg_ids = [];
        this.selected_id = null;
    },

如果您不能或不想更改源代码,您可以通过
{display\u order:order.DESC}
作为创建此类时的选项参数。

它看起来像是
init()
采用了
options
参数。您应该能够传入该选项,而不是重写该函数。