【问题标题】:Return Global Variable from Javascript Method [closed]从Javascript方法返回全局变量[关闭]
【发布时间】:2012-09-14 14:01:46
【问题描述】:

我有一个方法:

function calculateThings(newdata){


}

如何从其中返回一个全局变量?

谢谢!

抱歉没有详细说明。

var thisData = "";

function calculateThings(newData) {

    thisData = newData.things.otherthings //has a value of 10;

}

alert(thisData) //returns nothing

我做错了什么?

【问题讨论】:

  • return window.myGlobalVar;有问题吗?
  • 如果变量是全局变量,为什么要在函数中返回它?只需在函数调用后读取它的值
  • @ianpgall,我没有看到返回全局变量的用处。那么为什么不简单地在函数调用后读取值呢?这只是对这个问题的好奇
  • 我感觉真正的问题是“如何处理被函数参数遮蔽的全局变量”。
  • @ianpgall,如果我想在一个描述得如此糟糕且不知道 OP 试图完成什么的问题上尝试为 OP 提供有用的答案,我需要就主题进行辩论。

标签: javascript function methods web


【解决方案1】:

返回一个全局变量似乎没什么意义,函数可以设置它,其他函数引用它。

var setGlobal = (function(global) {
  return function(value) {
    global.someVarName = value;
  }
}(this));

var readGlobal = (function(global) {
  return function() {
    return global.someVarName;
  }
}(this));

setGlobal('foo');
alert(readGlobal()); // foo
alert(someVarName);  // foo

【讨论】:

    猜你喜欢
    • 2014-01-16
    • 1970-01-01
    • 2016-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-12
    • 1970-01-01
    相关资源
    最近更新 更多