【问题标题】:defining multiple variables with one `var` keyword in javascript [duplicate]在javascript中使用一个`var`关键字定义多个变量[重复]
【发布时间】:2016-11-30 08:25:39
【问题描述】:

我的源代码中有一行是别人写的:

var campaignLimits = 10, campaignsArray = new Array();

我只是想知道,这里的campaignsArray 是否成为全局变量,还是var 也适用于campaignsArray

【问题讨论】:

  • 是写在函数里面的吗?
  • var campaignLimits = 10, campaignsArray = new Array();var campaignLimits = 10; var campaignsArray = new Array(); 相同。它们是否是全局的取决于它们的定义范围。
  • 第二个。为了进行测试,您可以将它放在一个函数中,并在该函数之外控制台记录该变量。
  • var 也适用于campaignsArray。它得到了 Douglas Crockford 的支持,你可以找到一些关于这个选择的文章:sixrevisions.com/javascript/single-var-pattern 和它的批评者danhough.com/blog/single-var-pattern-rant
  • campaignLimitscampaignArrays 都成为当前范围内的变量。如果在全局范围内声明,它们都将成为全局变量。

标签: javascript scope var


【解决方案1】:

假设你没有使用任何编程模式,如果它写在一个函数中,那么它不是全局的。

(function() { var campaignLimits = 10, campaignsArray = new Array(); })();

@phoa 评论它与

相同
(function() { var campaignLimits = 10; var campaignsArray = new Array(); })();

在您的控制台中尝试一下,看看您是否能够访问活动数组。

【讨论】:

  • “假设你没有使用任何编程模式”是什么意思?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-09-30
  • 1970-01-01
  • 2013-01-09
  • 1970-01-01
  • 2016-12-12
  • 2012-03-07
  • 2016-08-15
相关资源
最近更新 更多