1. function DeferCall() {
  2. if (arguments.length == 0) {
  3. return null;
  4. }
  5. var args = arguments;
  6. var fn = null;
  7. if (browseris.ie5up || browseris.nav6up) {
  8. eval("if (typeof(" + args[0] + ")=='function') { fn=" + args[0] + "; }");
  9. }
  10. if (fn == null) { return null; }
  11. if (args.length == 1) {
  12. return fn();
  13. } else if (args.length == 2) {
  14. return fn(args[1]);
  15. } else if (args.length == 3) {
  16. return fn(args[1], args[2]);
  17. } else if (args.length == 4) {
  18. return fn(args[1], args[2], args[3]);
  19. } else if (args.length == 5) {
  20. return fn(args[1], args[2], args[3], args[4]);
  21. } else if (args.length == 6) {
  22. return fn(args[1], args[2], args[3], args[4], args[5]);
  23. } else if (args.length == 7) {
  24. return fn(args[1], args[2], args[3], args[4], args[5], args[6]);
  25. } else if (args.length == 8) {
  26. return fn(args[1], args[2], args[3], args[4], args[5], args[6], args[7]);
  27. } else if (args.length == 9) {
  28. return fn(args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8]);
  29. } else if (args.length == 10) {
  30. return fn(args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8], args[9]);
  31. } else {
  32. var L_TooManyDefers_Text = "Too many arguments passed to DeferCall"
  33. alert(L_TooManyDefers_Text);
  34. }
  35. return null;
  36. }

Avec la conclusion qui va bien : On comprends mieux pourquoi Windows contient plus de 40 millions de lignes de code.