相关疑难解决方法(0)

为什么原型设计功能不会影响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,'');
};
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参见此处 我试着用这种方式测试它:

console.log(console.log.getBody.getBody());
Run Code Online (Sandbox Code Playgroud)

但收到错误:TypeError: console.log.getBody is undefined.我发现可能发生这种情况是因为console.log在我实际制作原型之前定义了Function所以我在原型设计之前创建了一个空函数x并尝试调用

console.log(x.getBody.getBody());
Run Code Online (Sandbox Code Playgroud)

哪个没有问题.检查的类型console.logtypeof console.log在"功能"的结果.这是一个CodePen来试一试.所有这一切都不是一个惊喜,因为它是我所期望的,除了console.log.getBody未定义.

那么为什么原型设计Function不会影响console.log?我在Firebug 1.11.1中使用Firefox 18.0.1.

javascript console prototyping

6
推荐指数
1
解决办法
274
查看次数

标签 统计

console ×1

javascript ×1

prototyping ×1