Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用逗号初始化/设置多个变量,不带“;var";?_Javascript - Fatal编程技术网

Javascript 使用逗号初始化/设置多个变量,不带“;var";?

Javascript 使用逗号初始化/设置多个变量,不带“;var";?,javascript,Javascript,我见过很多这样的例子: var foo = 1, bar = 2, baz = 3; 但是,如果没有var,我也可以这样做吗?例如: // Declare at top of block for readability's sake: var foo, bar, baz; // ... stuff here ... // Later in script, I finally get around to initializing above vars: foo = 1, bar = 2, baz

我见过很多这样的例子:

var foo = 1, bar = 2, baz = 3;
但是,如果没有
var
,我也可以这样做吗?例如:

// Declare at top of block for readability's sake:
var foo, bar, baz;
// ... stuff here ...
// Later in script, I finally get around to initializing above vars:
foo = 1, bar = 2, baz = 3; // Is using commas without var legal?
换句话说,在javascript中,我在没有
var
关键字的情况下初始化/设置多个变量是否合法?我无法找到任何关于是否允许和/或是否得到充分支持的最终文件

另一种选择是:

foo = 1; bar = 2; baz = 3;

以下是促使我提出问题的现实情况:

for (var i = 0, l = haystack.length; i < l; i++) { ... }
。。。但我只在语句开头使用
var
时才使用逗号。上述内容是否合法(?),或者是否应该:

var i, l;

// ... stuff here ...

for (i = 0; l = haystack.length; i < l; i++) { ... }
var i,l;
// ... 这里的东西。。。
对于(i=0;l=haystack.length;i

(注意添加的分号。)

在javascript中,可以用逗号分隔表达式,它们将从左到右执行,返回最右表达式的值

是的,一般来说你可以这样做,下面是法律语法

for (i = 0, l = haystack.length; i < l; i++) { ... }
for(i=0,l=haystack.length;i

有关逗号运算符的更多信息,请参见此处:

在javascript中,可以用逗号分隔表达式,它们将从左向右执行,返回最右表达式的值

是的,一般来说你可以这样做,下面是法律语法

for (i = 0, l = haystack.length; i < l; i++) { ... }
for(i=0,l=haystack.length;i

有关逗号运算符的更多信息,请参见此处:

谢谢Ben!在
i=0
之后的
for
循环中使用分号(而不是逗号)会有什么问题吗?您通常使用逗号来设置多个变量(当不使用
var
关键字时),还是更喜欢分号?我认为这在for循环中不起作用。您可以在这里看到这些循环的规格:看起来您只能有3条语句。添加额外的语法是无效的。啊,回答我自己的问题,在
for
循环的上下文中:
for([initialization];[condition];[final expression])
似乎更喜欢逗号。也找到了via。我想知道这一点也很好:“[初始化]表达式的结果被丢弃”。谢谢Ben!在
i=0
之后的
for
循环中使用分号(而不是逗号)会有什么问题吗?您通常使用逗号来设置多个变量(当不使用
var
关键字时),还是更喜欢分号?我认为这在for循环中不起作用。您可以在这里看到这些循环的规格:看起来您只能有3条语句。添加额外的语法是无效的。啊,回答我自己的问题,在
for
循环的上下文中:
for([initialization];[condition];[final expression])
似乎更喜欢逗号。也找到了via。我认为知道这一点也很好:“[初始化]表达式的结果被丢弃”。