紅綠燈效果:JS中如何實(shí)現(xiàn)紅綠燈效果,方法是什么
【版權(quán)聲明】文章內(nèi)容源于互聯(lián)網(wǎng)收集整理,不代表YINGSOO觀點(diǎn)!若有咨詢“JS中如何實(shí)現(xiàn)紅綠燈效果,方法是什么”等有關(guān)服務(wù)器、云主機(jī)租用、托管、配置、價(jià)格問題,請(qǐng)免費(fèi)咨詢YINGSOO客服,良心推薦,按需選配!
【新品優(yōu)惠】韓國(guó)顯卡服務(wù)器促銷 | 香港高防服務(wù)器促銷 | 英國(guó)云服務(wù)器促銷
【內(nèi)容推薦】主機(jī)托管的優(yōu)點(diǎn)有哪些?與自建機(jī)房對(duì)比
JS中如何實(shí)現(xiàn)紅綠燈效果?紅綠燈是我們?nèi)粘:艹R姷模t綠燈效果就是紅燈、黃燈和綠燈循環(huán)改延時(shí)的效果,那么我們用JavaScript怎樣做這樣的效果呢?文中的示例代碼介紹得很詳細(xì),有需要的朋友可以參考,接下來(lái)就跟隨小編一起了解看看吧。

本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版本、Dell G3電腦。
JavaScript 實(shí)現(xiàn)紅綠燈
?國(guó)外云服務(wù)器?使用setTimeout、Promise、async await 三種方式實(shí)現(xiàn)紅綠燈代碼,紅燈2秒,黃燈1秒,綠燈3秒,循環(huán)改變顏色。改變顏色的方法,就簡(jiǎn)單寫成打印出顏色。
setTimeout實(shí)現(xiàn)
??使用setTimeout是最基本的實(shí)現(xiàn)方式,代碼如下,使用遞歸來(lái)實(shí)現(xiàn)循環(huán)改變顏色。
function changeColor(color) {console.log('traffic-light ', color);}function main() {changeColor('red');setTimeout(()=>{changeColor('yellow');setTimeout(() => {changeColor('green');setTimeout(main, 2000);}, 1000);}, 2000);}main();
Promise 實(shí)現(xiàn)
??使用Promise,把下一次的顏色改變寫在then里面,最后同樣使用遞歸完成循環(huán)。
function sleep(duration){ return new Promise(resolve => { setTimeout(resolve, duration);
})}function changeColor(duration,color){ return new Promise(resolve => {console.log('traffic-light ', color);
sleep(duration).then(resolve);})}function main() {return new Promise(resolve => {changeColor(2000, 'red').then(() => {changeColor(1000, 'yellow').then(() => {changeColor(3000, 'green').then(() => {main();})})})})}main();
async await 實(shí)現(xiàn)
??使用async await就可以避免Promise的一連串.then.then.then,也不再需要遞歸,使用while就可以實(shí)現(xiàn)循環(huán)。
function sleep(duration) {return new Promise(resolve => {setTimeout(resolve, duration);})}async function changeColor(color, duration) {console.log('traffic-light ', color);await sleep(duration);}async function main() {while (true) {await changeColor('red', 2000);await changeColor('yellow', 1000);await changeColor('green', 3000);}}main();
以上就是JS中如何實(shí)現(xiàn)紅綠燈效果介紹,上述示例具有一定的參考價(jià)值,有需要的朋友可以了解看看,希望對(duì)大家學(xué)習(xí)JavaScript有幫助,想要了解更多可以繼續(xù)瀏覽本公司其他相關(guān)的文章。
YINGSOO曾被評(píng)為IDC行業(yè)優(yōu)選服務(wù)商,是一家專業(yè)提供香港服務(wù)器、香港云服務(wù)器、香港高防服務(wù)器租用、美國(guó)服務(wù)器、美國(guó)云服務(wù)器等境外服務(wù)器租用托管服務(wù)的IDC廠商。全國(guó)統(tǒng)一服務(wù)熱線:400-630-3752
熱搜詞條:【機(jī)柜數(shù)據(jù)中心】【服務(wù)器端口】【服務(wù)商服務(wù)器】【服務(wù)器網(wǎng)關(guān)】【端口關(guān)閉】【運(yùn)營(yíng)小紅】【操作代碼】【游戲服務(wù)器】【網(wǎng)站惡意】【郵件附件】【查詢語(yǔ)句】【注冊(cè)賬戶】【服務(wù)器自己的】【服務(wù)器用戶】【矩形繪制】【如圖端口】【國(guó)外網(wǎng)站】【網(wǎng)游服務(wù)器】【用戶功能】【服務(wù)器租用】【信息命令行】【服務(wù)器配置】【自己的每個(gè)人】【口令木馬】【刪除會(huì)員】【函數(shù)這是】【提取中文】【后臺(tái)提交】【變量匹配】【文件刪除】
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。
關(guān)注官方微信