從字串呼叫函數
在 JavaScript 中,可以將表示函數呼叫的字串轉換為實際的函數呼叫。考慮這樣的情況:我們有一個字串:
"clickedOnItem(" + t.parentNode.id + ")"
,我們想要將其轉換為函數呼叫:
clickedOnItem(IdofParent);
要實現這一點,我們可以利用以下方法:
<code class="javascript">var fn = window[settings.functionName]; if(typeof fn === 'function') { fn(t.parentNode.id); }</code>
在此程式碼片段中,我們首先使用儲存在settings.functionName 中的字串從window 物件檢索函數引用。如果函數存在,我們將繼續使用所需的參數來呼叫它。
例如,如果 settings.functionName 設定為“clickedOnItem”,則執行程式碼將導致:
<code class="javascript">var fn = window["clickedOnItem"]; // Fetch the function reference fn(t.parentNode.id); // Invoke the function</code>
這有效地模仿了我們想要的手動函數呼叫。請記住,由於潛在的安全性和可維護性問題,這種方法通常不受歡迎。考慮探索更安全的替代方案,例如使用 Function 建構函數或箭頭函數來動態建構函式呼叫。
以上是如何在 JavaScript 中從字串執行函數呼叫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!