JS如果使用变量做变量名
以下是一个简单的Demo,当然实际场景是比较复杂的。前面会有一些逻辑来生成一个cName变量,我希望后面使用这个变量的值来新建另一个变量。
具体需求如下。
const cName = 'chart' + Math.ceil(Math.random() * 10);
// 这里假设cName='chart8'
const = () => { console.log('do something') };
// 希望效果是这样chart8= () => { console.log('do something') };
()
// 希望效果是这样chart8();
当然这样写是报错的,这种需求有什么办法实现,请指教,感谢。 数组可以
arr=[];
cname="123"
arr= () => { console.log('do something') };
const cName = 'chart' + 8//Math.ceil(Math.random() * 10);
window = () => { console.log('do something') };
chart8(); 怎么不考虑放到对象里面
var a='char',b={};
b = 123123123 const cName = 'chart' + Math.ceil(Math.random() * 10);
eval(`${cName} = () => { console.log('do something+${cName}') }`);
eval(`${cName}()`)
还有一种办法用eval,不过这样变量就变全局了 放对象上呗,直接在上下文生成变量不太行,放window上和用eval都破坏性太大了,放对象上比较合理
页:
[1]