编程语言
首页 > 编程语言> > Javascript代码作为变量

Javascript代码作为变量

作者:互联网

好吧,这可能听起来有点疯狂,但听我说:)

我想在javascript中执行以下操作:

define START_OF_EVERY_FUNCTION = "try {"
define END_OF_EVERY_FUNCTION   = "} catch () {}"

function TEST () {
    START_OF_EVERY_FUNCTION
    // rest of function
    END_OF_EVERY_FUNCTION
}

基本上,我可以定义一个javascript行(代码)列表并包含它们如上所述?我正在寻找一种技术,而不是关于这是否是一个好主意的评论或者在try / catch块中包装所有函数的争论.

我知道eval(),但我不认为你可以像上面那样评估语句.

解决方法:

这可能很愚蠢,但您可以通过传递它们来定义主函数并通过它运行其他函数.

var execute = function(func){
    alert('before');
    func();
    alert('after');
};

function sayHi(){
    alert('hi there');
}

execute(sayHi);

根据要求,传递参数的示例.

var execute = function(func){
    alert('before');
    var ret = func.apply(null, Array.prototype.slice.call(arguments, 1));
    alert('after');
};

function saySomething(sayWhat){
    alert(sayWhat);
}

execute(saySomething,'hey there');

标签:javascript,code-reuse
来源: https://codeday.me/bug/20190607/1191403.html