inc*_*nez 5 javascript jquery arguments extjs
是的,我知道有很多关于这个问题的线程,对于初学者:
不推荐使用Arguments.callee - 应该使用什么?
但是给出答案的问题是arguments.callee已被弃用.所有答案都说只是给你的功能一个名字.但是,据我所知,这并不能解决我的问题.说我有以下功能:
function blah() {
// arguments.callee.name is deprecated
console.log('The function name is: ' + arguments.callee.name + '.');
}
Run Code Online (Sandbox Code Playgroud)
但是因为它被弃用了,我不应该使用它,所以我应该使用什么呢?有什么办法可以在函数本身内部访问函数名,或者我只是出于概率吗?
如果它使事情变得更容易,我使用的是Ext JS框架,但我还没有找到一种了解函数名称的方法.如果没有,是否有jQuery方法?我在这里绝望.
您可以引发异常并检查堆栈跟踪。
以下上下文证明适用于 Chrome 浏览器:
function test () {
try { [].undef () } catch (e) {
console.log (e.stack.split ('\n')[1].split (/\s+/)[2]);
}
}
Run Code Online (Sandbox Code Playgroud)
如需更强大的实现,请参阅http://www.eriwen.com/javascript/js-stack-trace/ ,它在任何浏览器中提供完整的堆栈跟踪。
更现代、更全面的堆栈跟踪分析器是http://stacktracejs.com
归档时间: |
|
查看次数: |
1461 次 |
最近记录: |