有没有办法使用包含变量名称的字符串访问 javascript 变量?

IT技术 javascript
2021-01-30 08:45:56

这样我就可以有一个函数来说明whatever_way_you_do_this = something。这可能吗?基本上,我可以通过给函数一个包含变量名称的字符串来告诉函数我想设置哪个变量。

谢谢

4个回答

鉴于:

var x = {
    myproperty: 'my value'
};

您可以通过以下方式访问该值:

var value = x['myproperty'];

如果您正在寻找一个全局变量,那么您将检查它的容器 ( window);

var value = window['x']['myproperty'];

您可以使用

eval(variableString);

谨慎行事,因为许多人不建议使用 eval()

@BryantJackson 安全性是一个重要原因,您真的不想在生产机器上创建任意代码执行的可能性
2021-03-16 08:45:56
更通用的答案。当前最佳答案只能访问属性。这可以访问普通变量和属性eval("x.myproperty");出于好奇,为什么不推荐 eval?
2021-03-29 08:45:56

如果是名为 的全局变量myVar,则可以使用:

window["myVar"]
详细说明: function setGlobal(varName, varValue) { window[varName] = varValue; }
2021-03-14 08:45:56

eval 函数可以从包含变量名称的字符串访问变量。

eval('baseVariableName'+index) = 'something';