Ad esempio, quando si utilizza jQuery('someDiv');
, è una funzione, ma è anche possibile utilizzare jQuery.ajax(...);
.Come è la "jQuery" var una funzione e un oggetto?
Com'è possibile?
Ad esempio, quando si utilizza jQuery('someDiv');
, è una funzione, ma è anche possibile utilizzare jQuery.ajax(...);
.Come è la "jQuery" var una funzione e un oggetto?
Com'è possibile?
In JavaScript, le funzioni stesse sono oggetti.
var x = function() {};
x.foo = "bar";
console.log(x.foo); // bar
EDIT:
Per aggiungere su questo:
var x = function() {
return 'foo';
};
x.bar = function() {
return 'baz';
};
Così ora:
console.log(x()); // foo
console.log(x.bar()); // baz
Madre di dio, non sapevo che o_O –
Le funzioni sono cittadini di prima classe in JavaScript. –
Tutto è tutto uomo. Regole JavaScript :) – ahsteele
credo che l'esempio .ajax sta utilizzando il plug-in jQuery architettura. Penso che le funzionalità AJAX di jQuery siano solo uno dei tanti plug-in che potresti utilizzare.
Il "$" che viene visualizzato è anche solo un alias per chiamare jQuery.
Un'ultima osservazione jQuery è definito come (dal jquery-1.4.2.js):
var jQuery = function(selector, context) {
// The jQuery object is actually just the init constructor 'enhanced'
return new jQuery.fn.init(selector, context);
},
e Ajax si presenta come:
jQuery.extend({
...some other goodness...
ajax: function(origSettings)
...more goodness...
});
Vedi anche questa domanda http: // StackOverflow .com/questions/1302428/what-does-jquery-actual-return – harpo