¿Por qué la función de creación de prototipos no afecta a console.log?

Yo prototipéFunction para que tenga una función getBody:

Function.prototype.getBody = function() {
    // Get content between first { and last }
    var m = this.toString().match(/\{([\s\S]*)\}/m)[1];
    // Strip comments
    return m.replace(/^\s*\/\/.*$/mg,'');
};

Veraquí para más información. Intenté probarlo de esta manera:

console.log(console.log.getBody.getBody());

pero recibió un error:TypeError: console.log.getBody is undefined. Me di cuenta de que tal vez esto sucede porqueconsole.log Fue definido antes de que yo prototipo en realidadFunction así que creé una función vacíax Justo antes de la creación de prototipos y trató de llamar

console.log(x.getBody.getBody());

Lo que funcionó sin problema. Comprobando el tipo deconsole.log contypeof console.log resultados en "función". Aquí está unCodePen para probarlo. Todo esto no fue realmente una sorpresa, ya que es lo que esperaba excepto porconsole.log.getBody estar indefinido

Entonces, ¿por qué hace prototiposFunction no afectaconsole.log? Estoy usando Firefox 18.0.1 con Firebug 1.11.1.

Respuestas a la pregunta(1)

Su respuesta a la pregunta