【问题标题】:javascript, oop - change variable from inside a classjavascript,oop - 从类内部更改变量
【发布时间】:2011-05-18 14:49:04
【问题描述】:

祝大家有美好的一天。

我有一个 js 类,其中包含更多功能,可以做……某事。主要是他们设置变量。

我的问题是我需要在使用该类的“母亲”脚本中从类方法内部设置一个变量,而无需从脚本中明确请求。

例如。假设我需要将标志设置为 1。

 var flag = 0;

 someName.something = new Class({

 ..........
 testSomething:function(id){
     //lots and lots of functions that EVENTUALY gets to this:
     if(id)
     {
        this.setFlag();
     }
 }

 setFlag:function(){
     flag = 1;
     return flag;
 }
 ..........

 });

要设置标志,我可以使用类似

 flag = something.setFlag();

问题是我不能直接使用该方法,我必须先运行 testSomething(),并且该函数可能会在我需要设置标志后运行几个小时,所以我需要从类内部设置它像

 parentScript.flag = 1; (and this sets the flag)

希望我很清楚我需要什么 :)...如果有任何可以帮助我...请。

【问题讨论】:

  • 你不是很清楚.. 你提供的例子工作正常 - 你可以将全局变量 flag 设置为 somethingClass 实例中的任何方法中的任何内容。那么问题出在哪里?一切正常。
  • 我知道它运行良好。但我不需要调用该方法。我需要调用一个运行数小时的方法。在该方法的某个地方,我需要在父脚本中设置一个标志。另一个方法使用的标志,另一个类(但这不是问题)与可以设置标志的方法同时运行。像一个方法正在做某事,另一个正在测试它的进度。
  • 是的,标志是全局的。
  • 如果是全局变量,随便设置!或者你想要每个类的实例都有一个标志?
  • 另外,如果你想测试进度,为什么不使用 console.log() 或类似的东西?

标签: javascript oop class


【解决方案1】:

已解决:

我用过:

母语: 变量标志 = 0;

类方法:

window.flag = 1;

我之前尝试过,但第一次没有用……可能是我做错了什么,没有注意到,

【讨论】:

    猜你喜欢
    • 2014-10-12
    • 1970-01-01
    • 1970-01-01
    • 2018-10-29
    • 1970-01-01
    • 2019-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多