當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


JavaScript function.caller屬性用法及代碼示例


JavaScript 函數對象的 function.caller 屬性返回調用指定函數的函數。如果函數 “f” 被 JavaScript 中的頂級代碼調用,則返回 null。對於像嚴格函數、異步函數和生成器函數這樣的函數,此方法返回 null。

用法:

function.caller

參數:此函數不接受任何參數。

返回值:此函數返回空對於嚴格的異步函數和生成器函數調用者。

為了更好地理解函數方法,下麵給出了幾個例子。



範例1:

HTML


<!DOCTYPE html>
<html lang="en">
  
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content=
        "width=device-width, 
        initial-scale=1.0">
</head>
  
<body>
    <script>
  
        // Creating func2
        function func2() {
            console.log("This is from function 2")
        }
        // Creating func1
        function func1() {
            func2();
        }
  
        // Call Function 1
        func1();
  
        // null is returned as function
        // is strict, async function and 
        // generator function
        console.log("from function.caller:", 
                                func1.caller)
    </script>
</body>
  
</html>

輸出:

範例2:

HTML


<!DOCTYPE html>
<html lang="en">
  
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content=
            "width=device-width, 
            initial-scale=1.0">
</head>
  
<body>
    <script>
        function myFunc() {
            if (myFunc.caller == null)
                console.log("The function "
                    + "was called from the top!");
            else
                console.log("This function's "
                    + "caller was " + myFunc.caller);
    }
        myFunc()
    </script>
</body>
  
</html>

輸出:

支持的瀏覽器:

  • 穀歌瀏覽器
  • 微軟邊
  • 火狐瀏覽器
  • IE瀏覽器
  • Safari
  • Opera




相關用法


注:本文由純淨天空篩選整理自tarun007大神的英文原創作品 JavaScript function.caller Property。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。