多个局部变量声明与一个全局变量声明
many local variables declaration vs one global?
我只是一个新的javascript biginner,如果我需要多次(比方说20次)重用同一个变量,从性能的角度来看,我应该一次将其声明为全局,还是在本地范围的每个函数上下文中多次声明(正如我所听说的)?
什么情况下贝娄更好?
案例A:
var myvar = document.getElementById('case'); //global
function one(){
myvar.innerHTML = 'newb';
...
}
function two(){
myvar.value = '3';
...
}
案例B:
function one(){
var myvar = document.getElementById('case'); //local
myvar.innerHTML = 'newb';
...
}
function two(){
var myvar = document.getElementById('case'); //lobal
myvar.value = '3';
...
}
案例C:
var myvar = document.getElementById('case'); //global
function one(){
var myvar = document.getElementById('case'); //local
myvar.innerHTML = 'newb';
...
}
function two(){
var myvar = document.getElementById('case'); //lobal
myvar.value = '3';
...
}
thx表示建议,
gui
将案例A包裹在闭包中
(function() {
var myvar = document.getElementById('case');
function one(){
myvar.innerHTML = 'newb';
...
}
function two(){
myvar.value = '3';
...
}
})()
现在全局范围内没有任何内容,但您只能访问DOM一次。
情况A必须是最好的,或者如果你喜欢面向对象编程,你可以做:
function MyClass() {
this.element = document.getElementById('case');
this.one = function() {
this.element.innerHTML = 'newb';
}
this.two = function() {
this.element.value = '3';
}
return this;
}
var myCls = new MyClass();
myCls.one();
myCls.two();
相关文章:
- 为什么要将一个函数赋给一个变量,而不是声明一个命名函数
- 声明一个js变量,该变量将被我的2个jsp访问
- 我需要用javascript声明一个对象吗
- 用javascript声明一个简单函数
- 在 AngularJS 中声明一个承诺,并带有命名的成功/错误回调
- 如何在 Javascript 中声明一个字节数组
- 在 javascript 中 for 循环的每次迭代中声明一个新的、唯一的变量是一种好方法
- 声明一个带有条件的 JavaScript 变量
- 从函数内部声明一个全局变量
- 在 TypeScript 中使用外部模块声明一个全局变量
- 声明一个关联数组以在 for 循环中使用
- 用数组和日期范围声明一个变量
- 需要在构造函数内部声明一个方法而不是将其声明为原型方法的情况示例
- 在Javascript中声明一个对象上的方法时,如何正确引用该对象上的一个方法集
- 在onclick中声明一个变量
- 我应该如何声明一个函数的返回类型,该函数返回一个没有数据的$q promise
- 茉莉:我怎么能声明一个循环'其'而不是'期望'用于测试有角度的工厂
- 如何在nodejs程序中声明一个sequelize-auto
- 如何在javascript中声明一个具有html页面范围的变量
- 为什么我必须在闭包中声明一个函数来访问闭包中定义的变量