I posted to google.com

When generated JavaScript goes wild; JavaScript WTF in SharePoint

http://feeds.feedburner.com/~r/ajaxian/~3/458225036/when-generated-javascript-goes-wild-javascript-wtf-in-sharepoint

The JavaScript below was pointed out by Aaron Newton, and it comes from SharePoint. Jim Wilson said about it: "and we wonder why windows has 40 million lines of code." PLAIN TEXT [removed]

 

function DeferCall() {

        if (arguments.length == 0) {

                return null;

        }

        var args = arguments;

        var fn = null;

        if (browseris.ie5up || browseris.nav6up) {

                eval("if (typeof(" + args[0] + ")=='function') { fn=" + args[0] + "; }");

        }

        if (fn == null) { return null; }

        if (args.length == 1) {

         return fn();

        } else if (args.length == 2) {

                return fn(args[1]);

        } else if (args.length == 3) {

                return fn(args[1], args[2]);

        } else if (args.length == 4) {

                return fn(args[1], args[2], args[3]);

        } else if (args.length == 5) {

                return fn(args[1], args[2], args[3], args[4]);

        } else if (args.length == 6) {

                return fn(args[1], args[2], args[3], args[4], args[5]);

        } else if (args.length == 7) {

                return fn(args[1], args[2], args[3], args[4], args[5], args[6]);

        } else if (args.length == 8) {

                return fn(args[1], args[2], args[3], args[4], args[5], args[6], args[7]);

        } else if (args.length == 9) {

                return fn(args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8]);

        } else if (args.length == 10) {

                return fn(args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8], args[9]);

        } else {

                var L_TooManyDefers_Text = "Too many arguments passed to DeferCall"

                alert(L_TooManyDefers_Text);

        }

        return null;

}

 

Your favourite external commenting service goes here! I recommend http://www.disqus.com