CBrother 回调函数

CBrother的函数可以赋值给一个变量存储,之后变量通过invoke来调用存储的函数

全局函数回调

  1. function testcallback(parm)
  2. {
  3. print "in globe func testcallback";
  4. }
  5. function main(parm)
  6. {
  7. var testvar = testcallback;
  8. print testvar.invoke();
  9. }

结果:

  1. in globe func testcallback

成员函数回调

CBrother的成员函数赋值给一个变量时,这个对象本身也被存储了,调用时函数内的this就是该对象

  1. class test
  2. {
  3. function test4(parm)
  4. {
  5. print "test4";
  6. return "parm:" + parm;
  7. }
  8. function test3(func)
  9. {
  10. print "test3";
  11. print func.invoke(2222);
  12. }
  13. function test2()
  14. {
  15. test3(this.test4);
  16. }
  17. }
  18. function main(parm)
  19. {
  20. var t = new test();
  21. var clsfunc = t.test4;
  22. print clsfunc.invoke(1111);
  23. t.test2();
  24. }

结果:

  1. test4
  2. parm:1111
  3. test3
  4. test4
  5. parm:2222