首页 > 解决方案 > 从另一个对象调用原型方法

问题描述

是否可以在原型方法中调用另一个原型方法?如下所示。

jQuery(document).ready(function ($) {
    let gui = new GUI();
    let App = new App(gui);
});

var App = function(gui) {
    this.gui = gui;
    this.init();
    return this;
};

App.prototype.init = function() {
    this.gui.test();
};

var GUI = function() {
    return this;
};

GUI.prototype.test = function() {
    console.log("Test");
};
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

我想这样称呼。

最好的问候和谢谢你的帮助

标签: javascriptprototype

解决方案


是的,你当然可以。您的代码不起作用的唯一原因是您在第 3 行出现阴影 App

工作代码:

jQuery(document).ready(function ($) {
    let gui = new GUI();
    let app = new App(gui);
});

var App = function(gui) {
    this.gui = gui;
    this.init();
    return this;
};

App.prototype.init = function() {
    this.gui.test();
};

var GUI = function() {
    return this;
};

GUI.prototype.test = function() {
    console.log("Test");
};
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


推荐阅读