何時可以接受將字串傳遞給 setTimeout?
由於其缺點(包括執行),通常不鼓勵將字串傳遞給 setTimeout 或 setInterval在全球範圍內,效能問題和潛在的安全風險。然而,問題出現了:是否有合法的理由訴諸這種已棄用的做法?
全域範圍存取
所確定的唯一潛在場景是存取函數或存在於全域範圍內的變數已被本地覆蓋。然而,這表明程式碼設計很差,因為它引入了本地標識符和全域標識符之間的衝突。
歷史起源和遺留支持
由於歷史原因,可能允許棄用的語法。最初,setTimeout 和 setInterval 只接受一串程式碼作為第一個參數。稍後引入了對傳遞函數物件引用的支援。
因此,為了維護現有程式碼、舊版瀏覽器和可能依賴舊 JavaScript 版本的 IoT 裝置的向後相容性,需要保留基於字串的語法。儘管如此,強烈建議採用更適合現代開發的函數表達式語法。
以上是向 setTimeout 傳遞字串是否合理?的詳細內容。更多資訊請關注PHP中文網其他相關文章!