Javascript jQuery-$.extend未返回预期函数

Javascript jQuery-$.extend未返回预期函数,javascript,jquery,Javascript,Jquery,我正在用它做一些项目。在库中,有这样一个函数: api.dom.compose = function(element) { // stuff } api.dom.email = function(element) { this.id = element; var message_class_id = 'm' + this.id; this.id_element = $('div.ii.gt div.a3s.aXjCH.' + message_class_id);

我正在用它做一些项目。在库中,有这样一个函数:

api.dom.compose = function(element) {
    // stuff
}

api.dom.email = function(element) {
    this.id = element;
    var message_class_id = 'm' + this.id;
    this.id_element = $('div.ii.gt div.a3s.aXjCH.' + message_class_id);
    element = this.id_element.closest('div.adn');

    this.$el = element;
    return this;
};

$.extend(api.dom.email.prototype, {
    body: function(body) {
        var el = this.dom('body');
        if (body) {
            el.html(body);
        }
        return el.html();
    },

    from: function(email, name) {
        var el = this.dom('from');
        if (email) {
            el.attr('email',email);
        }
        if (name) {
            el.attr('name',name);
            el.html(name);
        }
        return {
            email: el.attr('email'),
            name: el.attr('name'),
            el: el
        };
    },

    // more extended functions

});

// more functions on the api.dom object

return api;
在我的代码中,我是这样使用它的:

var email = provider.dom.email(mId);
console.log(email);
console.log的
非常令人惊讶。我希望看到
$.extend
部分的函数。在这里,显示的函数是那些注册在
api.dom
对象上的函数<代码>电子邮件()
本身、
编写


我完全不明白为什么会发生这种事。感谢前面的帮助。

这是扩展的
原型。使用
new
创建实例时,这些函数可用。还有
console.log(api.dom.email.prototype)
或使用
new
创建新实例

var email = new provider.dom.email(mId);
console.log(email);

扩展的是
原型
。使用
new
创建实例时,这些函数可用。还有
console.log(api.dom.email.prototype)
或使用
new
创建新实例

var email = new provider.dom.email(mId);
console.log(email);