Firebug comprueba si una función tiene el aspecto de una función de clase (obj.prototype contiene al menos 1 propiedad) y la muestra como una clase con propiedades expandibles.
http://code.google.com/p/fbug/source/browse/branches/firebug1.8/content/firebug/dom/domPanel.js#531
if (isClassFunction(val))
this.addMember(object, "userClass", userClasses, name, val, level, 0, context);
http://code.google.com/p/fbug/source/browse/branches/firebug1.8/content/firebug/dom/domPanel.js#1960
function isClassFunction(fn)
{
try
{
for (var name in fn.prototype)
return true;
} catch (exc) {}
return false;
}
Puede probarlo ejecutando esto en Firebug
function isClassFunction(fn)
{
try
{
for (var name in fn.prototype)
return true;
} catch (exc) {}
return false;
}
test = [jQuery.prototype.init, jQuery.prototype.constructor, jQuery.prototype.each, jQuery.prototype.get];
for(var i = 0; i < test.length; i++) {
console.log("" + i + ": " + isClassFunction(test[i]));
}
salida
0: true
1: true
2: false
3: false
Parecen iguales a todo lo demás aquí en Chromium. –
Aunque no estoy seguro de nada, estoy dispuesto a apostar que tiene que ver con poder "anular" los métodos que están adjuntos al objeto jQuery. Los métodos de extensión jQuery se pueden hacer como Object.prototype.thisFunc = function() {// dosomething}; Esperando la respuesta correcta aunque – MoarCodePlz
¿En qué navegador se ve diferente? Es todo lo mismo en Chrome. –