javascript - 从另一个对象调用原型方法
问题描述
是否可以在原型方法中调用另一个原型方法?如下所示。
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>
推荐阅读
- python-3.x - Python中的列表项提取
- c# - 在c#中运行之间的持久文件路径
- terraform - Terraform 访问地图
- python - 关于使用 BFS 使用 Python 查找最短路径的问题
- visual-studio-code - 我收到错误,例如超出最大调用大小它可以正常运行,但是当调用 resultscreen 时,它会在模拟器中出现此错误
- android - 找不到符号 DaggerAppComponent,原因:java.lang.ExceptionInInitializerError
- git - gitingnore 没有忽略我的 node_modules 文件夹。虽然 .env 文件被忽略
- javascript - setTimeout 在 while 循环中无法正常工作
- flutter - 是否可以在飞镖的同步功能中使用等待
- asp.net-web-api - Web api Versioning 命名空间与新项目 x 版本