如何在javascript中动态构建函数

Rup*_*ert 3 javascript function dynamic

我想用javascript动态创建一个函数.我从以下开始:

function setFunc(setName){

    var  setName =  function () {
                    };

}
setFunc("totop");
Run Code Online (Sandbox Code Playgroud)

我想动态设置一个函数,但它不起作用!

我怎样才能解决这个问题?

小智 6

那不行.

但是,请考虑这一点:JavaScript中的函数只是值,窗口是顶级作用域,因此...(这假设需要在顶级作用域中创建新函数.)

function setFunc (name) {
    window[name] = function () { alert("hi!") }
}
setFunc("a")
window.a()    // "hi!" - explicit property access on object
window["a"]() // "hi!" - ditto
a()           // "hi!" - window implicit as top-level
Run Code Online (Sandbox Code Playgroud)

但是,我不推荐这种全球副作用......

快乐的编码.