首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在JavaScript中全球化很多变量的快速方法?

在JavaScript中全球化很多变量的快速方法?
EN

Stack Overflow用户
提问于 2013-01-15 11:12:57
回答 3查看 708关注 0票数 5

我需要用我的代码做一些快速测试(获取函数中一些变量的值),我想要全球化它们,这样我就可以通过控制台访问它们。

我知道这个方法:

代码语言:javascript
复制
function foo() {
  var foo = 'foo';
  window.foo = foo; // Make foo global
}

但是如果我有这样的东西呢:

代码语言:javascript
复制
function foo() {
  var foo1 = 'foo';
  var foo2 = 'foo';
  var foo3 = 'foo';
  var foo4 = 'foo';
  var foo5 = 'foo';
  var foo6 = 'foo';
  var foo7 = 'foo';
  var foo8 = 'foo';
}

有什么方法可以更快地将所有这些变量全球化,而不需要使用window.foo1 = foo1window.foo2 = foo2等?

我不希望这是一个代码高尔夫问题,只是一个普通的编程问题。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-01-15 11:17:22

我认为没有办法做到这一点。请看以下内容:

Access all local variables

您是否尝试过在控制台中进行简单的调试?使用Chrome,你可以设置一个断点,然后检查所有的值。请查看此教程:

https://developers.google.com/chrome-developer-tools/docs/scripts-breakpoints

票数 3
EN

Stack Overflow用户

发布于 2013-01-15 11:22:18

为什么不是单个globals对象而是一堆变量呢?

代码语言:javascript
复制
function foo() {
    window.globals = {
        foo1 = 'foo',
        foo2 = 'foo',
        foo3 = 'foo',
        foo4 = 'foo',
        foo5 = 'foo',
        foo6 = 'foo',
        foo7 = 'foo',
        foo8 = 'foo'
    };
} 
票数 2
EN

Stack Overflow用户

发布于 2013-01-15 11:21:49

如果它们都是这样简单地命名,你可以利用一个鲜为人知的技巧,变量实际上是字典:

代码语言:javascript
复制
function foo() {
  var foo1 = 'foo';
  var foo2 = 'foo';
  var foo3 = 'foo';
  var foo4 = 'foo';
  var foo5 = 'foo';
  var foo6 = 'foo';
  var foo7 = 'foo';
  var foo8 = 'foo';
  for (var i = 1; i <= 8; i++) {
    window["foo" + i] = eval("foo" + i);
  }
}

document.write("Running foo...<br/>");
foo();

document.write("Printing foo...<br/>");
for (var i = 1; i <= 8; i++) {
  document.write(window["foo" + i]);
}

document.write("<br/>Just one: " + foo3);// Normal variable notation
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14330586

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档