Если load
вызывается с двумя или более аргументами, jQuery проверяет, является ли второй аргумент функцией или объектом.Если это функция, она вызывается после завершения вызова ajax
.В противном случае он используется как параметры, передаваемые с помощью вызова ajax
.
Соответствующие части из источника:
if ( params ) {
// If it's a function
if ( jQuery.isFunction( params ) ) {
// We assume that it's the callback
callback = params;
params = null;
// Otherwise, build a param string
} else if ( typeof params === "object" ) {
params = jQuery.param( params, jQuery.ajaxSettings.traditional );
type = "POST";
}
}
Где params
- второй аргумент load
.
isFunction
является результатом следующих функций:
isFunction: function( obj ) {
return jQuery.type(obj) === "function";
},
type: function( obj ) {
return obj == null ?
String( obj ) :
class2type[ toString.call(obj) ] || "object";
},
, где class2type
- это ассоциативный массив, содержащий, помимо прочего, этот элемент:
class2type[ "[object Function]" ] = "function";