什么时候可以接受将字符串传递给 setTimeout?
由于其缺点(包括执行),通常不鼓励将字符串传递给 setTimeout 或 setInterval在全球范围内,性能问题和潜在的安全风险。然而,问题出现了:是否有合法的理由诉诸这种已弃用的做法?
全局范围访问
确定的唯一潜在场景是访问函数或存在于全局范围内的变量已被本地覆盖。然而,这表明代码设计很差,因为它引入了本地标识符和全局标识符之间的冲突。
历史起源和遗留支持
由于历史原因,可能允许弃用的语法。最初,setTimeout 和 setInterval 只接受一串代码作为第一个参数。稍后引入了对传递函数对象引用的支持。
因此,为了维护现有代码、旧版浏览器和可能依赖旧 JavaScript 版本的 IoT 设备的向后兼容性,需要保留基于字符串的语法。尽管如此,强烈建议采用更适合现代开发的函数表达式语法。
以上是向 setTimeout 传递字符串是否合理?的详细内容。更多信息请关注PHP中文网其他相关文章!