JavaScript jQuery plugin options. Defaults, User Options, and immutable settings pattern?
Not a lot ( of context ) to review;


this.options = $.extend(true, $.fn.myPlugin.Defaults, options); &lt;- This will modify the defaults of the plugin, if you did not want that, then you should do

this.options = $.extend(true, {}, $.fn.myPlugin.Defaults, options);

You are talking about passing a third parameter for immutable settings/options/parameters, the 3rd parameter in your $.extend call will do no such thing, you will not even know which properties come from the 3 object.
myPlugin &lt;- as plugin names go, not very original ;)
datatype is probably an unfortunate name, I would expect a function with that name to return a data type, also I would expect it to follow lowerCamelCase ( dataType )
It is risky to not check for jqGrid in self.options ? self.options.jqgrid : {},, I would have gone for (self.options &amp;&amp; self.options.jqgrid) ? self.options.jqgrid : {},
Finally, I have to say that the last code block looks like a large amorphous blob, I would have much rather seen chained setters.


All in all, I am sure that you could have gotten more out of codereview if you had posted a bit more code.