谁能帮忙解读下下面的代码

$(function(){
var foo = function (options){
var self = this;
self.options = $.extend({
parent: $("#myForm"),
register: $("[node-type=register]"),
submit: $("[node-type=submit]")
}, options);
self.bindEvent();
};

    foo.prototype = {
        bindEvent: function (){
            var self = this;
            self.register();
        },
        register: function (){
            var self = this,
                    parent = self.options.parent,
                    register = self.options.register;

            register.on("click", function (){
                var jqXML = $.ajax({
                    url: "/register",
                    dataType: "json",
                    type: "post",
                    data: parent.serialize()
                });

                jqXML.done(function (json){
                    if(json.code == 200){
                        alert(json.msg);
                    }else{
                        alert(json.msg);
                    }
                });
            });
        }
    };

    new foo();
})

jquery的语法,建议找jquery的api来看下