可能重复:
Javascript动态变量名称
一个非常基本的问题.我想在每次调用函数时创建一个新的javascript全局变量.变量应该包含元素的id,以便我以后可以轻松访问它.
id = 2347
//this function would be called multiple times, hopefully generating a new global each time
function (id)
{
var + id = something
// I want a variable that would be named var2347 that equals something, but the above line doesn't get it.
}
Run Code Online (Sandbox Code Playgroud)
在以后的函数中,我想像这样访问变量:
function two (id)
{
alert(var + id);
}
Run Code Online (Sandbox Code Playgroud)
我相信我会有一个"doh!" 有人能够回答这个问题的那一刻.
怎么样...
var store = (function() {
var map = {};
return {
set: function ( name, value ) {
map[ name ] = value;
},
get: function ( name ) {
return map[ name ];
}
};
})();
Run Code Online (Sandbox Code Playgroud)
用法:
store.set( 123, 'some value' );
Run Code Online (Sandbox Code Playgroud)
然后...
store.get( 123 ) // 'some value'
store.get( 456 ) // undefined
Run Code Online (Sandbox Code Playgroud)
现场演示: http ://jsfiddle.net/jZfft/
强烈建议程序员不要声明全局变量,因为浏览器已经在全局命名空间中附带了数百个名称.对自己的变量使用全局命名空间可能会导致名称冲突,从而破坏程序或某些浏览器的功能.创建新的命名空间是免费的,所以不要害羞地去做...
| 归档时间: |
|
| 查看次数: |
4164 次 |
| 最近记录: |