这几行 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 请求负载,这不是很明显。
我正在重构以前开发人员不再参与的项目中的一些 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 请求负载,这不是很明显。