Javascript 逗号删除变量的范围

Javascript 逗号删除变量的范围,javascript,Javascript,我突然想到,我不知道这项工作的范围是什么 var foo='bar', baz = 'bar'; 是 显然,foo是局部作用域的,但是baz上的var关键字是局部作用域所必需的,还是我的示例已经局部作用域了?它们都将在同一个作用域中结束 var foo = 'bar', baz = 'bar'; 是以下的简称: var foo = 'bar'; var baz = 'bar'; 例如,在一个函数中,foo和baz都将成为局部变量,即使只声明一次var 像这样的工具实际上期望v

我突然想到,我不知道这项工作的范围是什么

var foo='bar', 
baz = 'bar';


显然,foo是局部作用域的,但是baz上的var关键字是局部作用域所必需的,还是我的示例已经局部作用域了?

它们都将在同一个作用域中结束

var foo = 'bar', 
    baz = 'bar';
是以下的简称:

var foo = 'bar'; 
var baz = 'bar';
例如,在一个函数中,
foo
baz
都将成为局部变量,即使只声明一次
var


像这样的工具实际上期望
var
关键字只使用一次,因此如果您想遵守这一点,您应该使用第一个示例。

这确实是一个非常有趣的问题。JavaScript充满了边界情况

在这篇博文中,作者举例说明了使用或不使用“var”关键字的影响

长话短说

  • 未声明的变量是全局变量
  • 声明的变量是局部变量,它允许“覆盖”全局变量

看起来像是一个逗号条的副本。。。不是分号。将人们与范围解释联系起来会更有趣:D(至少部分是因为侧边栏太华丽了)