【发布时间】: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
-
campaignLimits和campaignArrays都成为当前范围内的变量。如果在全局范围内声明,它们都将成为全局变量。
标签: javascript scope var