有效地声明JavaScript变量
Declaring JavaScript Variables Efficiently
我正在尝试优化一个小型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>
使用全局声明方案是否有显著的效率效益?
应该在局部声明,因为任何全局声明都会花费额外的时间在局部作用域中查找变量,然后再在全局作用域中查找,这使得全局声明实际上更慢。另外,变量声明可能不需要搜索变量名,它可以简单地尝试创建一个新变量。
此外,如果将来添加代码,全局声明变量可能会导致它被其他代码覆盖或冲突。
实际上,如果查询字符串只被赋值一次,那么使用模块级变量可能会节省一点时间。但是,如果每次调用函数时都重新分配查询变量,那么将查询变量设置为每个函数的局部变量肯定会节省时间。
您可以将其括起来,以保持整洁;
var MyApp = {
queryString: null,
queryOne: function() {
print( this.queryString );
},
queryTwo: function() {
print( this.queryString );
}
}
.
MyApp.queryString = "foo=boob";
.
a = MyApp.queryOne(123);
b = MyApp.queryTwo(456);
相关文章:
- 调用类向后变量 (JavaScript)
- 初始化父类中的变量(JavaScript/CoffeeScript 习语)
- 可以'找不到变量javascript错误
- 输出数组变量javascript
- 自提交表单访问变量javascript
- 将变量 javascript 添加到用于旋转图像的链接中
- 在文本字段中显示保存的本地存储变量 - javascript
- 将变量添加到变量 JavaScript 中
- 获取要在变量 JavaScript 中使用的用户输入值
- 如何在变量 Javascript 中删除双引号
- 使用变量 javascript 从 json 文件中获取数据
- 读取输入和打印变量 - JavaScript 和 HTML 4.01
- 传递 PHP 变量 JavaScript 窗口位置
- 重置变量 JavaScript
- 变量 JavaScript 中的变量
- 尝试使用多个函数时无法使用全局变量 - JavaScript - 初学者
- 如何按值将数组分配给另一个变量 JavaScript
- setTimout 搞砸了变量 JavaScript
- 用内部函数变量更改外部函数变量?Javascript
- 根据变量 JavaScript 增加