代码之家  ›  专栏  ›  技术社区  ›  DR01D

是否可以将JS块存储在变量中?

  •  1
  • DR01D  · 技术社区  · 8 年前

    我意识到这可能会进入“最糟糕的实践”专栏,但作为一个实验,我正在尝试将函数重构到尽可能短的长度。

    以下两行代码非常有用。

    let prefix = document.querySelectorAll(".box")[0];
    prefix.style.position = "absolute";

    但当我试图在目标中包含代码时,它崩溃了。

    let prefix = 'document.querySelectorAll(".box")[0].style.position';
    [prefix] = "absolute";

    这样的事情有可能发生吗?或者我是否越过了界限进入了禁区?非常感谢您在正确的方向上所做的一切!

    1 回复  |  直到 8 年前
        1
  •  2
  •   Lolu Omosewo    8 年前

    您可以从函数句柄返回代码,如下所示;

    var prefix=function(position){
        document.querySelectorAll(".box")[0].style.position=position;
    };
    

    你可以这样使用它;

    prefix("absolute");