javascript - 从另一个对象调用原型(prototype)方法

标签 javascript prototype

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

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>

我想调用这样的东西。

致以最诚挚的问候,感谢您的帮助

最佳答案

是的,你当然可以。您的代码不起作用的唯一原因是您在第 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>

关于javascript - 从另一个对象调用原型(prototype)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50591725/

相关文章:

php - Facebook Like 按钮 - 如何获取 'liked' 某事的好友数量

javascript - Firebase v3.1 Web SDK - Github oAuth 不起作用

javascript - Prototype 是否是其构造函数的实例?

javascript - 我们应该使用 .prototype 而不是当前的实例化方法吗?

JavaScript 继承

javascript - 就良好实践而言,带有闭包的 javascript 原型(prototype)是一件好事吗

javascript - AngularJS错误: $injector:unpr Unknown Provider - $modalInstanceProvider

javascript - 从主干 View 访问 Rails session 变量

javascript - 为使用 Blob 的 <embed> 或 &lt;iframe&gt; 设置默认另存为名称

Javascript 特权函数继承