相关疑难解决方法(0)

自动将console.log添加到每个函数

有没有办法让任何函数输出一个console.log语句,当它通过在某处注册一个全局钩子(即,不修改实际函数本身)或通过其他方式调用?

javascript hook logging function

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

是否有可能反映Javascript函数的参数?

是否有可能将Javascript函数的所有参数都写入接受?(我知道所有Javascript函数参数都是"可选的")?如果没有,是否可以获得参数的数量?例如,在PHP中,可以使用:

$class = new ReflectionClass('classNameHere');
$methods = $class->getMethods();
foreach ($methods as $method) {
    print_r($method->getParameters());
}
Run Code Online (Sandbox Code Playgroud)

...或类似的东西,我有一段时间没有碰过PHP,所以上面的例子可能不正确.

提前致谢!

编辑:不幸的是,我必须能够在函数体外获取参数...对不起澄清,但感谢您当前的答案!

javascript reflection methods

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

通过记录函数调用和参数实时进行javascript调试

是否有调试系统允许我记录javascript函数调用及其参数?这将允许我在实时/客户端情况下跟踪和调试应用程序,而不会因手动记录而导致性能下降.

编辑:我不是在谈论使用"控制台"窗口手动调用函数并查看结果,或者手动将"trace"或"log"命令添加到我的javascript中.我需要它来处理任何正在运行的JavaScript.

javascript debugging logging trace control-flow

15
推荐指数
1
解决办法
6085
查看次数

在JavaScript中强制缺少参数

当你在JavaScript中调用函数而你错过了传递一些参数时,没有任何反应.

这使代码更难调试,所以我想改变这种行为.

我已经看到 如何最好地确定一个参数是否没有发送到JavaScript函数, 但我想要一个具有恒定数量的类型代码行的解决方案; 没有为每个功能键入额外的代码.

我已经考虑过通过修改("first-class")Function对象的构造函数,自动为所有函数的代码添加前缀.

JavaScript中更改构造函数的启发 我首先测试了是否可以更改Function对象的构造函数,如下所示:

function Function2 () {
    this.color = "white";
}

Function.prototype = new Function2();
f = new Function();
alert(f.color);
Run Code Online (Sandbox Code Playgroud)

但它警告"未定义"而不是"白色",所以它不起作用,所以我没有进一步探索这种技术.

你知道任何级别的这个问题的解决方案吗?破解JavaScript的内容是可以的,但是关于如何找到缺少的参数的任何其他实用技巧也是可以的.

javascript

5
推荐指数
1
解决办法
3207
查看次数