第6行和第10行调用同一个函数(在第12行),请问为什么调用参数的个数不同?1 (function($) {
2 $.fn.htmlarea = function(opts) {
3 if (opts && typeof (opts) === "string") {
4 var args = [];
5 for (var i = 1; i < arguments.length; i++) { args.push(arguments[i]); }
6 var htmlarea = jHtmlArea(this[0]);
7 var f = htmlarea[opts];
8 if (f) { return f.apply(htmlarea, args); }
9 }
10 return this.each(function() { jHtmlArea(this, opts); });
11 };12 var jHtmlArea = window.jHtmlArea = function(elem, options) {
if (elem.jquery) {
return jHtmlArea(elem[0]);
}
if (elem.jhtmlareaObject) {
return elem.jhtmlareaObject;
} else {
return new jHtmlArea.fn.init(elem, options);
}
};
jHtmlArea.fn = jHtmlArea.prototype = { // The current version of jHtmlArea being used
jhtmlarea: "0.7.0", init: function(elem, options) {
if (elem.nodeName.toLowerCase() === "textarea") {
var opts = $.extend({}, jHtmlArea.defaultOptions, options);
elem.jhtmlareaObject = this;
2 $.fn.htmlarea = function(opts) {
3 if (opts && typeof (opts) === "string") {
4 var args = [];
5 for (var i = 1; i < arguments.length; i++) { args.push(arguments[i]); }
6 var htmlarea = jHtmlArea(this[0]);
7 var f = htmlarea[opts];
8 if (f) { return f.apply(htmlarea, args); }
9 }
10 return this.each(function() { jHtmlArea(this, opts); });
11 };12 var jHtmlArea = window.jHtmlArea = function(elem, options) {
if (elem.jquery) {
return jHtmlArea(elem[0]);
}
if (elem.jhtmlareaObject) {
return elem.jhtmlareaObject;
} else {
return new jHtmlArea.fn.init(elem, options);
}
};
jHtmlArea.fn = jHtmlArea.prototype = { // The current version of jHtmlArea being used
jhtmlarea: "0.7.0", init: function(elem, options) {
if (elem.nodeName.toLowerCase() === "textarea") {
var opts = $.extend({}, jHtmlArea.defaultOptions, options);
elem.jhtmlareaObject = this;
function a(x,y){
var x = x || 1,y = y || 2
alert(x+y)
}a()
a(10)
a(10,11)
2 return jHtmlArea(elem[0]);
3 }
4 if (elem.jhtmlareaObject) {
5 return elem.jhtmlareaObject;
6 } else {
7 return new jHtmlArea.fn.init(elem, options);
8 }
9 };
2 $.fn.htmlarea = function(opts) {
3 if (opts && typeof (opts) === "string") {
4 var args = [];
5 for (var i = 1; i < arguments.length; i++) { args.push(arguments[i]); }
6 var htmlarea = jHtmlArea(this[0]);
7 var f = htmlarea[opts];
8 if (f) { return f.apply(htmlarea, args); }
9 }
10 return this.each(function() { jHtmlArea(this, opts); });
11 };