首頁 > web前端 > js教程 > JavaScript中如何動態取得目前函數的名稱?

JavaScript中如何動態取得目前函數的名稱?

Susan Sarandon
發布: 2024-10-21 15:27:30
原創
677 人瀏覽過

How to Dynamically Get the Name of the Current Function in JavaScript?

在 JavaScript 中取得目前函數的名稱

能否在 JavaScript 中動態存取目前正在執行的函數的名稱?

問題描述

考慮以下範例:

<code class="javascript">myfile.js:

function foo() {
    alert(<my-function-name>);
    // pops-up "foo"
    // or even better: "myfile.js : foo"
}</code>
登入後複製

目標是擷取函數的名稱以及可能的完整位置(檔案名稱:函數名稱)。這可以實現嗎?

解決方案

在ES5 及更高版本中: 不幸的是,ES5 中沒有內建機制來取得函數名稱及後續版本。

在較舊的 JavaScript 版本中:在早期版本的 JavaScript 中,可以使用arguments.callee 存取函數名稱。然而,這種方法可能需要一些解析,因為傳回的值可能包含無關的資訊。

解析方法:

<code class="javascript">function DisplayMyName() {
    var myName = arguments.callee.toString();
    myName = myName.substr('function '.length);
    myName = myName.substr(0, myName.indexOf('('));

    alert(myName);
}</code>
登入後複製

來源: [ Javascript - 取得目前函數名稱](https://stackoverflow.com/questions /4267180/javascript-get-current-function-name)

以上是JavaScript中如何動態取得目前函數的名稱?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板