2010-04-27 9 views

risposta

33

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 
+8

Madre di dio, non sapevo che o_O –

+2

Le funzioni sono cittadini di prima classe in JavaScript. –

+2

Tutto è tutto uomo. Regole JavaScript :) – ahsteele

0

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... 
}); 
Problemi correlati