我经常看到 Javascript 程序员做这样的事情:
function(index, input) {
var $input;
$input = $(input);
return $input.data('foo', 'bar');
}
虽然我本来想做的是这样的:
function(index, input) {
var $input = $(input);
return $input.data('foo', 'bar');
}
或者在这种特殊情况下,实际上是这样的:
function(index, input) {
return $(input).data('foo', 'bar');
}
在一行上声明“var”,然后再分配给它们有什么价值?在我看来,添加额外的行只会导致可能的问题(例如,有人可能会忘记添加“var”并意外创建全局变量)。那么为什么要这样做呢?
这只是某种编码约定(可能是可读性?),还是 JavaScript 内部工作方式有一些微妙之处,从而以某种方式使这种构造更高效?