好吧,这听起来有点疯狂,但请听我说完:)
我想在 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 block 中的争论。
我知道 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 代码作为变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2384518/