这几行 javascript 代码是一样的吗?

Are these lines of javascript code the same?

我正在重构以前开发人员不再参与的项目中的一些 javascript 代码。

为了简明扼要,考虑 .js 文件中的这个简单代码

var a;
a = b;

这些是文件的前两行。基本上它只是创建一个 a 的变量来引用 'file global' (在另一个 js 文件中定义的东西)值 b.

但这不就和做一样吗:

var a = b;

重构这个简单的改动是否安全,还是有一些不明显的隐患?


如果有任何区别,b 只是一个简单的对象,例如:

var b = { val1: '1', val2: '2' };

这两个说法是一样的。因此 a 只是全局 b.

的别名

不过我们必须注意 html 页面上脚本引用的排列可能会导致一个非常普遍的问题。如果包含 b 声明的文件位于包含以下行的文件之后:

var a;
a = b;

然后浏览器将抛出错误。

注意: 第二个示例在 JavaScript 文件大小方面更轻。从而减少 HTTP 请求负载,这不是很明显。