Javascript 在函数中使用eval替换图层名称上的前缀?
我需要编写一个函数,在这里我可以给它传递一个字符串,它将用该字符串的内容替换其中的单词前缀。因此,每次我调用函数并向其传递一个新字符串,即alpha、beta等,它将使用该键作为前缀,完全重建其中的所有层和事件。我怀疑我需要使用eval,但我不确定在这种情况下如何使用Javascript 在函数中使用eval替换图层名称上的前缀?,javascript,function,coffeescript,eval,Javascript,Function,Coffeescript,Eval,我需要编写一个函数,在这里我可以给它传递一个字符串,它将用该字符串的内容替换其中的单词前缀。因此,每次我调用函数并向其传递一个新字符串,即alpha、beta等,它将使用该键作为前缀,完全重建其中的所有层和事件。我怀疑我需要使用eval,但我不确定在这种情况下如何使用 layoutViews = (prefix) -> prefix_layer1 = new Layer width: 100 height: 100 prefix_layer
layoutViews = (prefix) ->
prefix_layer1 = new Layer
width: 100
height: 100
prefix_layer1.on Events.Click ->
buttonActions()
layoutViews(alpha)
layoutViews(beta)
我使用的是coffeescript,但任何真实JS中的想法都是非常受欢迎和赞赏的。我意识到这个特定的问题暗示着我在项目中做了其他错误的事情,但这主要是出于我自己的好奇心,这是否可能
非常感谢你的任何想法 那么你想要什么
function build(prefix) {
window[prefix + "_hi"] = function() {
alert("hi");
};
}
这样使用:
build("test");
test_hi();
窗口就是全球!浏览器中的元素不好,所以你可以考虑将它分配给窗口而不是取决于你的用法。为什么你需要生成动态变量名?您打算如何引用这些动态变量?您是否考虑过使用对象来存储数据并使用键作为参考点?非常有用。谢谢@不,不是。不要使用此选项,而是使用对象。