js使用对象文字替换var
js using object literals for var replacement
在最长的一段时间里,我使用对象文字来替换代码中的多个var语句。这里有一个典型的例子:
(function(){
var replaceVars = {};
function x(){
replaceVars.num=886;
}
function y(){
x();
replaceVars.cal = replaceVars.num*99;
return replaceVars.cal;
}
})();
所以我的问题是:这有什么问题吗?我的意思是,我能看到的好处是:1)在我的整个代码中只有一个var语句。2) 在闭包中,所有子对象都可以访问它(这意味着replaceVars属性在闭包的范围内变成全局的。这就像在真正的全局对象(窗口)中创建一个类似全局的子对象(闭包)3)我可以预先定义可以立即使用的属性:
var替换Vars={something1:"一些价值",something2:"其他价值"}
那么,有人能想到我做事方式的缺点吗?
我不认为使用容器对象有任何错误。尽管如此,我还是习惯于声明相关代码所需的变量:
var replaceVars = {
num: null,
cal: null
};
但是,话说回来,这也是有效的:
(function () {
var num, cal;
function x(){
num = 886;
}
function y(){
x();
cal = num * 99;
return cal;
}
})();
我不确定你想做什么,但如果你只是想在另一个对象中隐藏对象,例如,只通过方法访问它们,我会这样做:
var objects = (function() {
var x = 42;
var y = 12;
var container = {};
container.getX = function getX() {
return x;
}
container.getY = function getY() {
return y;
}
container.getSum = function getSum() {
return x + y;
}
return container;
})();
在我看来,这更容易阅读。
相关文章:
- 无法从 jQuery RSS Feed 中的 localStorage 动态替换类
- 我如何找到一个句子中的所有空格并替换忽略它们
- 控制台返回var不是't定义,但它是
- 将 var 替换为一些新的 var jquery
- 如何在 JavaScript 中将数组中的 [ ] 替换为 var 结果
- 替换“;var url”;使用文本框输入
- var x=y||false的最佳替换
- 将 var^power 替换为 pow(var,power)
- js使用对象文字替换var
- 将jquery函数替换为var
- 替换var中的value
- 可以在JavaScript中替换var
- 这个javascript正则表达式做什么?: var match = self.location.href.替换(美元/
- 有没有理由不把JavaScript中的var替换成let呢?
- JS在var中替换html中的id
- 替换var中的HTML类
- 在HTML源代码中找到一个值,并将var的值替换为另一个
- 如何使用Javascript替换来改变var,这是一个数字
- jQuery在html var中替换全局整数
- Javascript将$1替换为var