【发布时间】:2018-12-21 15:39:33
【问题描述】:
是否可以在重复函数(对象编程)中设置特定的变量名?
我需要重用这个函数,每次使用时我都需要指定变量名(函数属性 + a)。
function test(test)
{
var a + test = 'test text';
console.log(atest);
}
test('test');
我需要变量atest 来生成'test text'。
【问题讨论】:
-
这是一个常见问题。基本的答案是不可能“构造”一个变量名并按原样使用它(在 JavaScript 中)。 是可以构造一个对象属性名称。人们经常构建包含全局变量名称的字符串,并将它们作为
window对象的属性进行访问,但这不适用于函数中声明的变量。eval()函数是另一个(有问题的)选项。最后,通常情况下,有更好、更惯用的方法来实现更大的目标。 -
其实你可以做
eval("var a" + "test" + "= 'test text';")这样的事情,但它有一些安全问题,我不会推荐它。 -
每次运行函数时,函数范围内的变量都是不同的变量 - 特定于函数运行,即使名称相同...您还 需要什么我>?
标签: javascript dictionary global-variables