Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 连接名称变量(非值)Js_Javascript - Fatal编程技术网

Javascript 连接名称变量(非值)Js

Javascript 连接名称变量(非值)Js,javascript,Javascript,我的问题很简单: 我想在一个函数中连接一个动态变量名,因此在参数中插入名称后,当我调用该函数时,她会自动在新变量名中连接字符串 例如(我想是错的): function blockDL(insertName){ return var 'block' + insertName + 'DT'= document.createElement('dt'); }; blockDL('First'); 我希望代码返回: blockFirstDT = document.createElem

我的问题很简单:

我想在一个函数中连接一个动态变量名,因此在参数中插入名称后,当我调用该函数时,她会自动在新变量名中连接字符串

例如(我想是错的):

function blockDL(insertName){

    return var 'block' + insertName + 'DT'= document.createElement('dt');  

};

blockDL('First'); 
我希望代码返回:

blockFirstDT = document.createElement('dt');

谢谢你的帮助!=)

你想要什么是不可能的。看看你能做些什么


然而,“变量”通常是糟糕代码设计的指标。特别是在你的情况下,绝对没有理由也没有好处去做这些。只需命名变量
blockDT
paraphDT
或您想要的任何东西。

将字符串用作变量名的唯一方法是将其作为另一个对象的属性。如果需要全局变量,可以使用窗口对象

window['block' + insertName + 'DT'] = document.createElement('dt');

也就是说,您真的不需要也应该寻找其他方式来构造代码

你为什么要这么做?除了不可能之外,我不认为这样做有什么好处。您可以使用对象并将值存储为对象的属性,但这对于您的用例来说似乎是不必要的。我需要这样做,因为我不想为打印同一块重复相同的代码,但我需要更改函数中变量的名称(法语):没有理由用坏习惯练习practices@Kys3r当前位置这些都是公平合理的,但是如果有什么事情是不可能的,那么你就无能为力了。“我不想重复相同的代码”这就是函数的用途。定义函数一次,并根据需要随时调用它。函数内的变量名基本上是无关的。谢谢@dgeare,现在我可以在函数外使用blockFirstDT吗?@Kys3r窗口对象上定义的任何内容都将是全局属性。因此,您可以从应用程序中的任何位置以相同的方式访问它。window.blockFirstDT和window[“blockFirstDT”]都是访问值的正确方法。