Почему функция создания прототипа не влияет на console.log?

Я прототипировалFunction так что у него есть функция 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,'');
};

ВидетьВот для получения дополнительной информации. Я попытался проверить это так:

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

но получил ошибку:TypeError: console.log.getBody is undefined, Я понял, что, возможно, это происходит потому, чтоconsole.log был определен до того, как я на самом деле прототипFunction поэтому я создал пустую функциюx прямо перед прототипом и попытался позвонить

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

который работал без проблем. Проверка типаconsole.log с участиемtypeof console.log приводит к «функции». ВотCodePen попробовать это. Все это не было на самом деле сюрпризом, так как это то, что я ожидал, кромеconsole.log.getBody быть неопределенным.

Так почему же прототипированиеFunction не влияетconsole.log? Я использую Firefox 18.0.1 с Firebug 1.11.1.

Ответы на вопрос(1)

Ваш ответ на вопрос