为什么我的JavaScript构造函数模式不能工作?

Why doesn't my JavaScript constructor pattern work?

本文关键字:不能 工作 模式 构造函数 我的 JavaScript 为什么      更新时间:2023-09-26

为什么我的JavaScript模式不工作?例如,我尝试调用函数this.prepare.build(),但它不起作用。它给了我这个错误:

this.prepare。Build不是一个函数

<script>
$(function () {
    new $.Myfunction();
});
</script>

<script>
(function($) {
    'use strict';
    function Myfunction(options) {
        return new Myfunction.prototype.init(options);
    }
    Myfunction.fn = $.Myfunction.prototype = {
        init: function() {
            console.log('call: Myfunction.init')
            this.prepare.build();
        },
        prepare: function() {
            return {
                 build: function() {
                        console.log('call: Myfunction.prepare.build');
                 },
                 run: function() {
                        console.log('call: Myfunction.prepare.run');
                 }
            }
        }
    }
    Inviter.prototype.init.prototype = Inviter.prototype;
})(jQuery);
</script>

不妨回答这个问题。Prepare和它的构建一样是一个函数,所以您需要调用这两个函数:

this.prepare().build()