原文鏈接:https://www.cnblogs.com/leaf930814/p/6828588.html 表示遇到了一樣的問(wèn)題坤次。古劲。
一、最近在看promise缰猴,驚奇的發(fā)現(xiàn):原來(lái) setTimeout不只有兩個(gè)參數(shù)产艾,我還能說(shuō)什么呢?趕緊探探究竟滑绒。
function multiply(input) {
return new Promise(function (resolve, reject) {
log('calculating ' + input + ' x ' + input + '...');
setTimeout(resolve, 500, input * input);
});
}
二胰舆、定義
扒了一下MDN,果然有定義:
image.png
’Additional parameters which are passed through to the function specified by func once the timer expires.’
定時(shí)器啟動(dòng)時(shí)候,第三個(gè)以后的參數(shù)是作為第一個(gè)func()的參數(shù)傳進(jìn)去蹬挤。
三缚窿、demo1
增加兩個(gè)參數(shù)
function sum(x, y) {
console.log(x+y) //3
}<br>setTimeout(sum, 1000, 1, 3);
增加三個(gè)參數(shù)
image.png
(打印出的11是setTimeout的timeId)
可以看出:
[第三個(gè)參數(shù)及以后的參數(shù)都可以作為sum函數(shù)的參數(shù);]
四焰扳、再看demo2
var doc=document.getElementById('div');
setTimeout(function(){
doc.style.color='red';
},10000,setTimeout(function(){
doc.style.color='black';
},5000));
上面的結(jié)果是倦零,div元素內(nèi)的字體樣式5秒后變黑,10秒后再變紅吨悍。是不是很驚奇扫茅,因?yàn)榈谌齻€(gè)參數(shù)也是一個(gè)定時(shí)器,5后就會(huì)開(kāi)啟育瓜。和JQuery里面的animate()不同葫隙,animate里面回調(diào)是執(zhí)行了前面之后再執(zhí)行后面的。