好吧,这个问题可能会让 javascript 仇恨者和铁杆开发者感到震惊,请原谅我!
我喜欢用 JavaScript 编写回调函数的方式
var on = function(isTrue, doThis) {if (isTrue) doThis();}
是否有可能在 C 语言中复制相同的想法?我知道它取决于类型。 或多或少这是我的情况:
我有多个 bool 值和多个过滤器,所以我的用途是,而不是编写
if (thisIs == true) executeThisVoid(passingThisStruct)
我很想写:
on(thisIs, function(struct){ do this and this})
或者简单地
on(thisIs, executeThisVoid);
非常感谢大家。
最佳答案
好的,开始了。首先定义:
void on(int thisIs, void (*executeThis)(void)) {
if (thisIs)
(*executeThis)();
}
然后,定义 someVoid:
void someVoid(void) {
/* ... */
}
然后,在另一个函数中,调用:
on(1, someVoid);
关于C 中的 Javascript 回调编码风格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14542058/