日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

JS实现一个打点计时器

發布時間:2023/12/18 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JS实现一个打点计时器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

要求:(題源:牛客網在線編程)

1)、從 start 到 end(包含 start 和 end),每隔 100 毫秒 console.log 一個數字,每次數字增幅為 1

2)、返回的對象中需要包含一個 cancel 方法,用于停止定時操作

3)、第一個數需要立即輸出

實現法一(setTimeout()方法):

function count(start, end) {if(start <= end){console.log(start++);st = setTimeout(function(){count(start, end)}, 100);}return {cancel: function(){clearTimeout(st);}} }

setTimeout()方法用于在指定的毫秒數后調用函數或計算表達式。

語法:setTimeout(code, millisec)

注意:setTimeout() 只執行 code 一次。如果要多次調用,請使用 setInterval() 或者讓 code 自身再次調用 setTimeout()。

?

實現法二(setInterval()方法):

function count(start, end) {console.log(start++);var timer = setInterval(function () {if (start <= end) {console.log(start++)} }, 100);return {cancel: function () {clearInterval(timer)}} }

setInterval() 方法可按照指定的周期(以毫秒計)來調用函數或計算表達式。

語法:setInterval(code ,millisec[,"lang"])

setInterval() 方法會不停地調用函數,直到 clearInterval() 被調用或窗口被關閉。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的參數。

?

注意:兩個方法的第一個參數可以是字符串,也可以是函數

(1)如果是字符串, 則參數是 要執行的javascript代碼串(加雙引號), 當 作普通javascript語句執行即可 。 和eval()差不多,執行的環境是全局,所以不能訪問函數作用域的變量。

(2)如果是函數(有括弧),則參數是該函數 (不加雙引號) 的返回值,即真正執行的是其返回值,作用是【數值傳遞】。若返回值是另一個函數對象X,則執行的是函數X里的內容;若函數沒定義返回值時值為undefined,或返回值為非函數對象,則無任何執行操作。

(3)如果是函數名(無括弧),則參數是該函數對象 (不加雙引號) 本身,即真正執行的就是函數中的語句,且與返回值無關,作用是【函數調用】。通過”function() { xxx(argv); }”還能訪問該函數作用域鏈上的變量。

?

?

總結

以上是生活随笔為你收集整理的JS实现一个打点计时器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。