Reputation: 167
Is it possible to call another prototype method inside a prototype method ? Like below.
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>
I would like to call something like this.
Best regards and thx for ur help
Upvotes: 1
Views: 35
Reputation: 101680
Yes, you certainly can. The only reason your code doesn't work is that you are shadowing App
on the 3rd line.
Working code:
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>
Upvotes: 1