如何实现status对象的details与state字段每秒在Text、Text2间循环切换
实现代码
// 原始定义的status对象 var status = { rPE: true, name: "", type: 1, details: "Text", state: "Text", largeText: "DoesntWork", application_id: "36", }; // 启动定时切换任务,间隔1000ms即1秒,返回定时器ID可用于后续停止 const toggleTimer = setInterval(() => { // 两个属性取值始终保持一致,直接判断当前值切换即可 const nextVal = status.details === "Text" ? "Text2" : "Text"; status.details = nextVal; status.state = nextVal; }, 1000); // 如需停止切换,执行以下代码即可 // clearInterval(toggleTimer);
逻辑说明
- 用JS内置的
setIntervalAPI创建间隔执行任务,第二个参数传1000即设定间隔为1秒 - 每次执行时通过三元表达式判断当前属性值,直接切换到另一个目标值即可
- 两个属性始终保持相同取值,所以只需判断一次,同时赋值即可
注意:如果在浏览器全局环境运行代码,不要使用
status作为变量名,window.status是浏览器原生内置属性,全局定义同名变量可能出现异常,建议将变量名改为appStatus等不冲突的名称。
内容的提问来源于stack exchange,提问作者John Unra
相关产品推荐
相关产品推荐

