亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

setTimeout、setInterval被遺忘的第三個參數

標簽:
JavaScript

一、最近在看promise,惊奇的发现:原来 setTimeout不只有两个参数,我还能说什么呢?赶紧探探究竟。

function multiply(input) {    return new Promise(function (resolve, reject) {
        log('calculating ' + input + ' x ' + input + '...');
        setTimeout(resolve, 500, input * input);
    });
} 

二、定义

  • 扒了一下MDN,果然有定义:

    webp


    • 注:定时器启动时候,第三个以后的参数是作为第一个func()的参数传进去。

    • Additional parameters which are passed through to the function specified by func once the timer expires.

三、demo1

  • 增加两个参数

     function sum(x, y) {     console.log(x+y)
     }
     setTimeout(sum, 1000, 1, 3);    //4
  • 增加三个参数 


    webp

    • [第三个参数及以后的参数都可以作为sum函数的参数;]

    • (打印出的11是setTimeout的timeId)

    • 可以看出:

四、再看demo2

  var doc=document.getElementById('div');
  setTimeout(function(){
      doc.style.color='red';
  },10000,setTimeout(function(){
      doc.style.color='black';
  },5000));
  • 上面的结果是,div元素内的字体样式5秒后变黑,10秒后再变红。是不是很惊奇,因为第三个参数也是一个定时器,5后就会开启。和JQuery里面的animate()不同,animate里面回调是执行了前面之后再执行后面的。



作者:饥人谷_米弥轮
链接:https://www.jianshu.com/p/8121654731d1


點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消