虽然开发我常常遇到问题,但我不知道某些函数调用的实际上下文是什么。
例如在我使用特殊SDK(例如facebook.sdk)的应用程序中,我经常在我编写句柄脚本并将一些函数调用作为回调原因的参数传递的情况下运行。
一个例子:
FB.getLoginStatus(function(response) {
this.statusChangeCallback(response);
});
...
statusChangeCallback: function(response) {
...
现在,我想知道,为什么浏览器会抛出像" this.statusChangeCallback不是函数的错误"。但正如您在示例中所看到的,Im定义了该函数。所以我知道:js将函数调用为回调的范围/上下文与此代码完全不同(在sdk脚本中的某处)。
是否有某种方法可以获取有关该地点或堆栈跟踪的信息。我的意思是一种更好的方式来理解调用函数的方式(比浏览器控制台输出中的脚本信息更好,例如,在汇总的js文件的方式中并不是很明显) )。
那里必须有好的调试工具。