将一个变量分配给两个值?

问题描述:

我最近检查出github project,我发现下面的代码中的文件之一:将一个变量分配给两个值?

var fu = $('#fileupload').data('blueimpFileupload'), 
     template; 

好像这是分配一个变量两个值。它究竟在做什么?我办公室有人提到,它可能相当于说:

var f = $('#some-id').data('string'); 
var template; 

这是这种情况吗?

你的同事是正确的:你声明了两个变量,并且只分配给第一个变量。这两个陈述是相同的。

+0

奇怪的方式做到这一点,不知道这甚至是可能的。 – Vadorequest 2014-10-30 22:27:09

+0

由于某种原因,这是首选吗?这似乎有些尴尬。 – 0112 2014-10-30 22:27:29

+0

@ alex0112:从程序的角度来看,没有任何优势或劣势。但是,您所遵循的风格指南可能会决定声明变量的某种方式。 – 2014-10-30 22:31:06

这个声明并不少见,事实上它是JSLint的一个要求,它有一个单独的var,并且所有的变量都在顶部声明,因为它可以通过提升来完成(但并不是必须的线)。

另一方面,有一个很好的接受convention声明变量在单独的行,按字母顺序排序。你看到的声明是通过JSLint检查和坚持传达