所以說,獲取的函數名,我有功能Hello_world()
:的JavaScript - 通過函數
function Hello_world() {
b();
}
我想創建功能b()
其中b()
返回調用它的函數的名稱。在這種情況下,我想b()
返回"Hello_world"
。如何構建b()
?謝謝。
所以說,獲取的函數名,我有功能Hello_world()
:的JavaScript - 通過函數
function Hello_world() {
b();
}
我想創建功能b()
其中b()
返回調用它的函數的名稱。在這種情況下,我想b()
返回"Hello_world"
。如何構建b()
?謝謝。
你可以使用三種despised,deprecated和non-standard屬性是:
function b() {
return arguments.callee.caller.name;
}
不要指望它在舊的瀏覽器,新的瀏覽器,嚴格模式,IE瀏覽器,工作...
有也是堆棧跟蹤的一個技巧,它也被鄙視(因爲它是高度依賴平臺的)並且難以說至少:
function getStackTrace() { return new Error().stack; }
這將返回這樣的事情在Chrome的開發者控制檯:
"Error
at getStackTrace (<anonymous>:2:35)
at <anonymous>:2:1
at Object.InjectedScript._evaluateOn (<anonymous>:581:39)
at Object.InjectedScript._evaluateAndWrap (<anonymous>:540:52)
at Object.InjectedScript.evaluate (<anonymous>:459:21)"
和你reqular表情從那裏去。
將在Chrome中工作,對其他人不太確定,因此對於生產版本不利。不錯,雖然哈克:)
不,你不想那樣。 [什麼問題](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)你想用這個解決嗎? – Bergi
嘗試使用這個http://stackoverflow.com/questions/3178892/get-function-name-in-javascript –
http://stackoverflow.com/questions/280389/how-do-you-find-out-the-調用者函數在javascript –