我正在尝试优化小型 Web 应用程序对 JavaScript 变量的使用。我有大约五个函数,每个函数都会生成 Ajax 调用,并重复使用查询字符串。我应该在每个函数内部声明查询变量,还是全局声明它会提高效率?我正在谈论的一个非常简单的例子是:
本地声明
<script type="text/javascript">
function queryOne() {
var queryString = "query arguments";
}
function queryTwo() {
var queryString = "query arguments";
}
</script>
全局声明
<script type="text/javascript">
var queryString;
function queryOne() {
queryString = "query arguments";
}
function queryTwo() {
queryString = "query arguments";
}
</script>
使用全局声明方案是否有显着的效率优势?
最佳答案
应该在本地声明,因为任何全局声明都会花费额外的时间在本地作用域中查找变量,然后在全局作用域中查找变量,这使得全局声明实际上更慢。另外,变量声明可能不需要搜索变量名称,它可以简单地尝试创建一个新变量。
此外,如果将来添加代码,全局声明变量可能会导致它被其他代码覆盖或发生冲突。
实际上,如果查询字符串仅分配一次,则使用模块级变量可能会节省一些时间。但是,如果每次调用函数时都重新分配查询变量,那么将查询变量设置为每个函数的本地变量肯定会节省时间。
关于javascript - 高效声明 JavaScript 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7613047/