3
我正在尋找一個等效於PHP的__FUNCTION__
在JavaScript中,讓我得到當前函數的名稱。例如:在JavaScript中是否有等價於PHP的__FUNCTION__?
function foo(){
console.log(__FUNCTION__); // "foo" would be logged to the console
}
有沒有辦法在JavaScript做到這一點?要麼使用類似於__FUNCTION__
的魔術變量或任何其他解決方法?而且,如果目前還沒有辦法達到這個目標,是否計劃?
解決方法可能是'arguments.callee.name' – Bergi
@Bergi說的聽起來像是解決方案。由於['警告:ECMAScript的第5版禁止在嚴格模式下使用arguments.callee()]的限制[](https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Functions_and_function_scope/arguments/callee) - 但我想這隻有在你的代碼選擇嚴格模式時纔有意義。 –
另一個問題可能是你爲什麼需要知道函數的名字?根據作用域的不同,函數名可能會被註冊到窗口對象中,它可能會被封閉在一個閉包中......我只是好奇什麼用例會首先要求函數的名稱才能正確運行? (我意識到可能有**用例,我只是好奇,如果可能有另一種方式來處理你的問題,多一點背景知識。) –