我想请教以下代码的含义:
$.fn.datepick = function(options) {
var otherArgs = Array.prototype.slice.call(arguments, 1);
这是jQuery插件文件“jquery.datepick.js”的第2036-2037行。
来自http://keith-wood.name/datepick.html。
我想请教以下代码的含义:
$.fn.datepick = function(options) {
var otherArgs = Array.prototype.slice.call(arguments, 1);
完整的代码看起来像这样:
/* Attach the datepicker functionality to a jQuery selection.
@param options (object) the new settings to use for these instances (optional) or
(string) the command to run (optional)
@return (jQuery) for chaining further calls or
(any) getter value */
$.fn.datepick = function(options) {
var otherArgs = Array.prototype.slice.call(arguments, 1);
if (isNotChained(options, otherArgs)) {
return plugin['_' + options + 'Plugin'].apply(plugin, [this[0]].concat(otherArgs));
}
return this.each(function() {
if (typeof options == 'string') {
if (!plugin['_' + options + 'Plugin']) {
throw 'Unknown command: ' + options;
}
plugin['_' + options + 'Plugin'].apply(plugin, [this].concat(otherArgs));
}
else {
plugin._attachPlugin(this, options || {});
}
});
};
arguments
实际上不是一个数组。arguments
类似于数组,但没有所有的数组方法,如slice。 - Matt Browne