我們將使用 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中文網其他相關文章!