相关疑难解决方法(0)

如何使用firebug从特定网站获取Javascript函数的源代码?

用firebug我发现点击链接调用javascript函数

<a href="#" onclick="viewHide(this);return false;">
Run Code Online (Sandbox Code Playgroud)

但我无法在页面源中找到它的实现.
有可能得到它吗?

该网站是希伯来语,但我不认为这是问题:链接文本触发此功能点击文章后面的任何评论标题.

删除了死的ImageShack链接

html javascript firebug

34
推荐指数
1
解决办法
3万
查看次数

如何确定函数是否为空

我希望能够检查给定的函数是否为空.也就是说,它的身体里没有任何东西,例如:

function foo() {}
function iAmEmpty(a) {
    // yep, empty
}
Run Code Online (Sandbox Code Playgroud)

通过一些初步的游戏,我有一些我认为可能没问题的东西,通过使用toString()和一些正则表达式.

function foo(a, b, c) {}

/^function[^{]+\{\s*\}/m.test(foo.toString());  // true

function bar(a, b, c) { var d; }

/^function[^{]+\{\s*\}/m.test(bar.toString());  // false
Run Code Online (Sandbox Code Playgroud)

我只是想知道是否有更好的方法?你可以看到上面有什么问题吗?

javascript reflection

25
推荐指数
2
解决办法
2338
查看次数

为什么原型设计功能不会影响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
查看次数

标签 统计

javascript ×3

console ×1

firebug ×1

html ×1

prototyping ×1

reflection ×1