这些javascript代码是否相同?

时间:2015-08-11 11:01:03

标签: javascript refactoring

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

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

var a;
a = b;

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

但这不仅仅与做:

var a = b;

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

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

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

1 个答案:

答案 0 :(得分:4)

这两个陈述是相同的。因此,a只是全局b的别名。

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

var a;
a = b;

然后浏览器会抛出错误。

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