最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

精解window.setTimeout()&window.setInterval()使用方式與參數(shù)傳遞問題!

 更新時間:2007年11月23日 16:58:39   作者:  
在使用JScript的時候,我們有時需要間隔的執(zhí)行一個方法,比如用來產(chǎn)生網(wǎng)頁UI動畫特效啥的。這是我們常常會使用方法setInterval或setTimeout,但是由于這兩個方法是由腳本宿主模擬出來的Timer線程,在通過其調(diào)用我們的方法是不能為其傳遞參數(shù)。

    我們常用的使用場景是: 

復制代碼 代碼如下:

window.setTimeout("delayRun()", n); 
window.setInterval("intervalRun()", n); 
window.setTimeout(delayRun, n); 
window.setInterval(intervalRun, n); 

    顯然強行代參數(shù)的調(diào)用: window.setTimeout("delayRun(param)", n); 
復制代碼 代碼如下:

window.setInterval("intervalRun(param)", n); 
window.setTimeout(delayRun(param), n); 
window.setInterval(intervalRun(param), n); 

    都是錯誤的,因為string literals形式的方法調(diào)用,param必須是全局變量(即window對象上的變量)才行;而function pointer形式的調(diào)用,完全錯誤了,這是把函數(shù)的返回值當成了setTimeout/setInterval函數(shù)的參數(shù)了,完全不是我們所望的事情。

    解決這個問題的辦法可以使用匿名函數(shù)包裝的方式,在以下scenario中我們這么做: 
復制代碼 代碼如下:

function foo() 

    var param = 100; 
    window.setInterval(function() 
    { 
        intervalRun(param); 
    }, 888); 


function interalRun(times) 

    // todo: depend on times parameter 

    這樣一來,就可以不再依賴于全局變量向delayRun/intervalRun函數(shù)中傳遞參數(shù),畢竟當頁面中的全局變量多了以后,會給腳本的開發(fā)、調(diào)試和管理等帶來極大的puzzle。

相關文章

  • 基于layui輪播圖滿屏是高度自適應的解決方法

    基于layui輪播圖滿屏是高度自適應的解決方法

    今天小編就為大家分享一篇基于layui輪播圖滿屏是高度自適應的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09
  • 微信小程序?qū)崿F(xiàn)商品數(shù)據(jù)聯(lián)動效果

    微信小程序?qū)崿F(xiàn)商品數(shù)據(jù)聯(lián)動效果

    這篇文章主要介紹了微信小程序?qū)崿F(xiàn)商品數(shù)據(jù)聯(lián)動效果,代碼很簡單,直接復制即可根據(jù)自己的需求去修改,對小程序商品數(shù)據(jù)聯(lián)動實例代碼感興趣的朋友一起看看吧
    2022-08-08
  • 前端實現(xiàn)文本超出指定行數(shù)顯示"展開"和"收起"效果詳細步驟

    前端實現(xiàn)文本超出指定行數(shù)顯示"展開"和"收起"效果詳細步驟

    本文介紹如何使用JavaScript原生代碼實現(xiàn)文本折疊展開效果,并提供方法指導如何在Vue或React等框架中修改實現(xiàn),詳細介紹了創(chuàng)建整體框架、設置樣式及利用JS控制元素的步驟,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-10-10
  • javascript 事件綁定問題

    javascript 事件綁定問題

    在子頁面(<iframe></iframe>)創(chuàng)建父級事件!當子頁面(<iframe></iframe>)被銷毀!子頁面(<iframe></iframe>)創(chuàng)建父級事件也會被銷毀!
    2011-01-01
  • 詳解如何利用chatgpt保護您的js代碼

    詳解如何利用chatgpt保護您的js代碼

    這篇文章主要為大家介紹了如何利用chatgpt保護您的js代碼詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04
  • JS實現(xiàn)中國公民身份證號碼有效性驗證

    JS實現(xiàn)中國公民身份證號碼有效性驗證

    這篇文章主要介紹了JS實現(xiàn)中國公民身份證號碼有效性驗證,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-02-02
  • js動態(tài)創(chuàng)建表格,刪除行列的小例子

    js動態(tài)創(chuàng)建表格,刪除行列的小例子

    這篇文章介紹了js動態(tài)創(chuàng)建表格,刪除行列的實例代碼,有需要的朋友可以參考一下
    2013-07-07
  • JavaScript中的變量聲明你知道嗎

    JavaScript中的變量聲明你知道嗎

    這篇文章主要為大家詳細介紹了JavaScript中的變量聲明,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • 效果直逼flash的Div+Css+Js菜單

    效果直逼flash的Div+Css+Js菜單

    效果直逼flash的Div+Css+Js菜單...
    2007-05-05
  • javascript中的緩動效果實現(xiàn)程序

    javascript中的緩動效果實現(xiàn)程序

    javascript中的緩動效果可以應用于很多地方,比如距離位移上的變化:圖片的滾動、焦點圖的輪轉(zhuǎn)切換,透明度上的變化:漸隱漸現(xiàn)。凡是存在運動的狀態(tài)都適用,下面以最基本的塊在容器內(nèi)從左到右滑動為例,講下幾種不同的緩動處理方式
    2012-12-12

最新評論

抚远县| 广东省| 云龙县| 镇平县| 锡林浩特市| 璧山县| 博爱县| 山西省| 淮北市| 建阳市| 青岛市| 友谊县| 兴安盟| 沂源县| 社旗县| 海晏县| 巴青县| 台东县| 周至县| 敦化市| 黎川县| 本溪| 福清市| 杭州市| 长岭县| 黑山县| 观塘区| 邢台县| 蓝山县| 鄂州市| 桃园县| 仲巴县| 安顺市| 福安市| 三穗县| 张掖市| 朝阳区| 南郑县| 伊春市| 镇巴县| 岱山县|