Javascript 代码作为变量

标签 javascript code-reuse

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

我想在 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/

相关文章:

joomla - 如何在 Joomla 插件和组件之间共享代码?

ruby - 不同 Ruby 项目之间代码重用的最佳实践是什么?

java - 重用 Java 方法的最佳方式

Android:我可以重复使用图层列表吗?

javascript - 为什么在 Mongoose 文档中看不到所有 JS 对象属性?

javascript - 在 JavaScript 正则表达式中放置变量

javascript - 如何使用 Node.js Express、Mongo 和 Markdown-it 渲染 Markdown?

javascript - Jqgrid树形网格按行ID滚动到行并展开节点(如果折叠)

java - 如何构建Java代码以供重用?

javascript - 如何从 phonegap 的 html5 输入字段文件对象获取路径