首頁 >web前端 >js教程 >如何使用 JavaScript 從儲存在字串中的函數名稱呼叫函數?

如何使用 JavaScript 從儲存在字串中的函數名稱呼叫函數?

王林
王林轉載
2023-08-27 09:09:111114瀏覽

如何使用 JavaScript 从存储在字符串中的函数名称调用函数?

我們將使用 eval() 函數從儲存在字串中的函數名稱來呼叫函數。評估() 函數將字串計算為 JavaScript 程式碼。這允許我們透過以下方式呼叫該函數 將包含其名稱的字串作為參數傳遞給 eval() 函數。

範例

這是一個完整的工作範例,說明如何使用 JavaScript 從儲存在字串中的函數名稱呼叫函數 -

// Define the function that we want to call
function sayHello() {
   console.log("Hello, world!");
}

// Store the function name as a string
let functionName = "sayHello";

// Use the `eval()` function to convert the string to a function call
eval(functionName + "()");
  • 在上面的範例中,我們先定義一個名為 sayHello() 的簡單函數,它只會記錄「Hello, world!」到控制台。接下來,我們定義一個名為 functionName 的變量,它儲存字串“sayHello”,這是我們要呼叫的函數的名稱。

  • 最後,我們使用 eval() 函數將字串 functionName 與實際呼叫函數所需的括號 () 連接起來,將其轉換為函數呼叫。

  • eval() 函數是 JavaScript 的一個強大但潛在危險的功能,它允許您像 JavaScript 程式碼一樣計算字串。一般不建議在生產程式碼中使用 eval(),因為它可用於執行任意程式碼,這可能有安全風險。

替代方法

值得一提的是,有更安全的方法可以從儲存在字串中的函數名稱呼叫函數,而無需使用 eval,例如 -

let functionName = "sayHello";
let functionObj = window[functionName];
functionObj();

let functionName = "sayHello";
let functionObj = window['sayHello'];
functionObj();

這些替代方案比使用 eval 更安全,因為它們不執行任意程式碼,而是直接透過名稱引用函數。

以上是如何使用 JavaScript 從儲存在字串中的函數名稱呼叫函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除