JavaScript:尝试使用由于某种原因无法运行的类函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript:尝试使用由于某种原因无法运行的类函数相关的知识,希望对你有一定的参考价值。

class Menu 
  constructor(id, listButtons, title = null, visible = false) 
    this.id = id;
    this.listBtn = listButtons;
    this.title = title;
    this.visible = visible;
    this.SetVisible(this.visible);
  

  SetVisible(visibility) 
    alert("SetVisible:" + visibility + " " + this.id)
    if (visibility) 
      for (var i = 0; i < this.listBtn.length; i++) 
        this.listBtn[i].style.display = "block";
      
      this.title.style.display = "block";
      visible = visibility;
     else 
      for (var i = 0; i < this.listBtn.length; i++) 
        this.listBtn[i].style.display = "none";
      
      this.title = "none";
      visible = visibility;
    
  




function ToggleMainAbout() 
  alert("Toggle_Main_About");
  mainMenu.SetVisible(!mainMenu.visible);
  aboutMenu.SetVisible(!aboutMenu.visible);

这是我的课和功能。

功能ToggleMain运行,因为我能够从警报中看到,但由于某种原因,我在SetVisible类中的功能Menu没有显示警报,我不知道是什么原因。

如果我将SetVisible的输入更改为'true'而不是变量,它仍然不起作用,所以它不是变量的问题

答案

您需要首先创建该类的实例:

let mainMenu = new Menu("Main", ["List button 1", "List button 2"]);
let aboutMenu = new Menu("About", ["Home", "Back"]);
另一答案

您是否使用new关键字创建了用于访问Menu方法的Menu类对象。像这样的const mainMenu = new Menu()。

以上是关于JavaScript:尝试使用由于某种原因无法运行的类函数的主要内容,如果未能解决你的问题,请参考以下文章

classList.remove 和 .add 由于某种原因无法正常工作

glStencilFunc 由于某种原因无法工作:(

jquery menucool滑块无法正常工作

无法在 APEX 上启用 JavaScript MLE

C# 代表。铸造由于某种原因无法正常工作

由于某种原因无法看到border-top [重复]