課程
/前端開(kāi)發(fā)
/Html5
/HTML5音樂(lè)可視化
n = ++ count;這里n的值啥時(shí)候會(huì)和count不相等呢
2016-03-29
源自:HTML5音樂(lè)可視化 2-5
正在回答
說(shuō)的通俗點(diǎn)就是onload函數(shù)是有執(zhí)行時(shí)間的,所以即便click執(zhí)行以后,cont自增了,load函數(shù)內(nèi)部的n雖然和cont相等,但是onload函數(shù)中的n還是上一次的n,所以就不會(huì)繼續(xù)執(zhí)行下去,只有最后點(diǎn)擊的那一次的load里的n和onload里的n是相等的,所以和cont也是相等的,所以才會(huì)正常播放,不再出現(xiàn)同步播放
用到了閉包的原理,每個(gè)load都會(huì)創(chuàng)建一個(gè)n,這個(gè)n因?yàn)閮?nèi)部函數(shù)onload調(diào)用,所以形成閉包,在函數(shù)執(zhí)行完之后該n變量仍存在(且值一直為當(dāng)時(shí)的值)onload的環(huán)境里面,所以當(dāng)onload執(zhí)行時(shí),n就可能不等于現(xiàn)在的count(因?yàn)閏ount一直在增長(zhǎng))
我不知道我是否理解對(duì)了...供參考
var n = ++count;//n在函數(shù)作用域中,count是全局變量,如果還沒(méi)執(zhí)行完就點(diǎn)擊count會(huì)改變,而n不會(huì)
每執(zhí)行一次load(),都會(huì)聲明一個(gè)n,比如點(diǎn)擊三次,就會(huì)有三個(gè)n,它們分別的值是1,2,3.但是count是全局變量,點(diǎn)擊三次之后count是3.所以前面兩個(gè)n不等于count,不會(huì)順利執(zhí)行。只有最后一次點(diǎn)擊時(shí)聲明的n與count相等。所以只會(huì)播放最后一次點(diǎn)擊的音頻。
二露
正常情況都是相等的,這個(gè)判斷只是異常(不相等)情況下 ?就不執(zhí)行下面decode和播放
舉報(bào)
利用webAudio和canvas可視化你的音樂(lè),讓你的音樂(lè)動(dòng)起來(lái)
1 回答xhr.onload 內(nèi)部,加粗的 n 永遠(yuǎn)等于 count ,可見(jiàn),其下的第一個(gè)n!==count 是沒(méi)有意義的。
1 回答2:51時(shí)候那是什么插件?
1 回答為何我引入js文件的時(shí)候報(bào)404錯(cuò)誤呢, css文件也沒(méi)寫路由啊
1 回答不會(huì)搭建node環(huán)境
1 回答請(qǐng)教老師,如何獲取音頻當(dāng)前播放時(shí)間和總時(shí)間?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2018-01-10
說(shuō)的通俗點(diǎn)就是onload函數(shù)是有執(zhí)行時(shí)間的,所以即便click執(zhí)行以后,cont自增了,load函數(shù)內(nèi)部的n雖然和cont相等,但是onload函數(shù)中的n還是上一次的n,所以就不會(huì)繼續(xù)執(zhí)行下去,只有最后點(diǎn)擊的那一次的load里的n和onload里的n是相等的,所以和cont也是相等的,所以才會(huì)正常播放,不再出現(xiàn)同步播放
2016-08-16
用到了閉包的原理,每個(gè)load都會(huì)創(chuàng)建一個(gè)n,這個(gè)n因?yàn)閮?nèi)部函數(shù)onload調(diào)用,所以形成閉包,在函數(shù)執(zhí)行完之后該n變量仍存在(且值一直為當(dāng)時(shí)的值)onload的環(huán)境里面,所以當(dāng)onload執(zhí)行時(shí),n就可能不等于現(xiàn)在的count(因?yàn)閏ount一直在增長(zhǎng))
2016-08-07
我不知道我是否理解對(duì)了...供參考
var n = ++count;//n在函數(shù)作用域中,count是全局變量,如果還沒(méi)執(zhí)行完就點(diǎn)擊count會(huì)改變,而n不會(huì)
每執(zhí)行一次load(),都會(huì)聲明一個(gè)n,比如點(diǎn)擊三次,就會(huì)有三個(gè)n,它們分別的值是1,2,3.但是count是全局變量,點(diǎn)擊三次之后count是3.所以前面兩個(gè)n不等于count,不會(huì)順利執(zhí)行。只有最后一次點(diǎn)擊時(shí)聲明的n與count相等。所以只會(huì)播放最后一次點(diǎn)擊的音頻。
2016-04-12
正常情況都是相等的,這個(gè)判斷只是異常(不相等)情況下 ?就不執(zhí)行下面decode和播放