从变量设置javascript变量名

Ell*_*ott 5 javascript

嗨,是否可以var从另一个变量设置名称?

比如var test每次调用函数时我都有不同的数字,所以我希望数字是一个变量名,例如 var test 包含 '1' 所以新变量将是var 1. 然后我想在这个数字“单词”中添加一个单词,使新变量变为var 1word.

var newNumber = 1;
var newNumber += 'word';
       ^ becomes ' 1 '
the new var name becomes ' 1word '
Run Code Online (Sandbox Code Playgroud)

编辑:

function getNumber(newNumber) //  Gets a number, for this example say its the number '1' 
    {

        var newNumber += "something";  //The new varaible will be named "1something" (something can be any word)

    }
Run Code Online (Sandbox Code Playgroud)

希望我没有让它听起来太混乱,谢谢。

Oll*_*rds 5

Javascript 中的所有内容基本上都是一个关联数组。这意味着您可以或多或少地互换使用数组访问表示法和点表示法。数组访问表示法提供了您正在寻找的功能:

object["name"]="foo"
Run Code Online (Sandbox Code Playgroud)

将在给定对象上设置名称属性。

如果你想创建一个全局变量,那么使用 window 对象

window["name"]="foo"
Run Code Online (Sandbox Code Playgroud)

您还可以在方括号中使用表达式或变量

window[someVaribale]="foo";
window["name_" + someVariable]="foo";
Run Code Online (Sandbox Code Playgroud)


SLa*_*aks 3

您可以将变量放入对象中并使用字符串键索引该对象。

例如:

var myData = { };
myData.x1 = 42;
alert(myData["x" + 1]);
Run Code Online (Sandbox Code Playgroud)

您还可以使用对象表示法初始化对象:

var myData = { key: 42 };
Run Code Online (Sandbox Code Playgroud)