1. 程式人生 > >javascript中實現Sleep函式的功能

javascript中實現Sleep函式的功能

javascript中不提供sleep功能,而我們時長會用到這個功能。

有一種思路是跑一段迴圈體,讓程式空耗CPU的時間來實現延時。這有一個不足,不同的機器CPU的執行速度是不一樣的,這很容易導致的慢的機器會SLEEP很久。

筆者從別的論壇看到一種機智的解決方法,在不同的機器上的執行速度是一致的。在此與大家共享。

function sleep(n)

  {
    var start=new Date().getTime();
    while(true) if(new Date().getTime()-start>n) break;

  }

當然這個方法依然是靠空轉CPU的方法。

還有一個方法是使用setTimeout()函式。

函式語法如下:setTimeout(code,millisec)

使用範例:

var t=setTimeout("alert('5 seconds!')",5000)

這段程式碼的作用是millisec後執行程式碼code,範例中就是5000毫秒後執行了alert函式。也可以達到和sleep相同的效果。

相關推薦

javascript實現Sleep函式功能

javascript中不提供sleep功能,而我們時長會用到這個功能。 有一種思路是跑一段迴圈體,讓程式空耗CPU的時間來實現延時。這有一個不足,不同的機器CPU的執行速度是不一樣的,這很容易導致的慢的機器會SLEEP很久。 筆者從別的論壇看到一種機智的解決方法,在不同

Python 3實現cmp()函式功能

本文由荒原之夢原創,原文連結:http://zhaokaifeng.com/?p=1088 cmp() 函式是Python 2中的一個用於比較兩個列表, 數字或字串等的大小關係的函式, 在Python 3中已經無法使用這個函數了: >>> a = [1, 2,

vue實現全選功能

containe lda mod html ret model methods == -m <!DOCTYPE html><html><head><meta charset="utf-8"><title>Vue 測

Javascript實現繼承的方式

call type soft 保存 不出 註意 use type屬性 方式 js中實現繼承和傳統的面向對象語言中有所不同:傳統的面向對象語言的繼承由類來實現,而在js中,是通過構造原型來實現的,原型與如下幾個術語有關: ①構造函數:在構造函數內部擁有一個prototype屬

javascript實現類似php 的var_dump

fun 道理 highlight 建議 int brush 沒有 找到 object javascript語言中的調試功能少得可憐,如果涉及到第三方返回的對象數據更是使得開發程度加大。想到php中的var_dump,print_r簡單好用,極大程序上方便了開發工作,在網上亂

在DBGrid實現多選功能

inter cli 如何實現 point row goto option pointer checked 1、首先把DBGrid->options-dgMulitSelect設為True. dgRowSelect也設為True,此屬性設為true後,DBGrid將不

javascript實現繼承的幾種方式

eat 共享 all cto 原型 構造 child 構造函數 java javascript中實現繼承的幾種方式 1、借用構造函數實現繼承 function Parent1(){ this.name = "parent1" } function Child1()

JavaScript的高階函式

之前寫的《JavaScript學習手冊》,客戶跟我說有些內容不適合初學者,讓我刪了,感覺挺可惜的,拿到這裡和大家分享。 JavaScript中的一切都是物件,這句話同樣適用於函式。函式物件可以作為函式的引數。 一 函式物件作為另一個函式的引數 函式可以作為另外一個函式的引數,這裡的“另外一個函式”可以返

C#或unity實現正弦函式

C#或unity中實現正弦函式 本類用於第一,需要繪製一條正弦曲線的朋友;第二,需要根據正弦曲線控制物體運動的朋友;裡面都有註釋,程式碼如下: unity中使用的程式碼: public class Curvy_Sin { /// <summary> /// 週期

SSM框架實現分頁功能

我們在前端頁面上要訪問某個資源時, 直接點選, 頁面就會重新整理並展示給我們相應的資料資訊. 雖然是一個很簡單的操作, 可是頁面後端卻給我們做出了多層業務邏輯的操作. 下面我們來分析一下一個使用者在點選檢視 訂單管理 後, 後臺程式碼為實現該功能所執行的步驟:   1.

模擬實現strcpy函式功能(優化改進)

strcpy函式,字串拷貝函式,傳入兩個引數,將第二個引數的值拷貝到第一個中去。 首先,給出一個普通的程式碼: #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<stdlib.h> void

JavaScript立即執行函式例項詳解 轉載 作者:李牧羊

javascript和其他程式語言相比比較隨意,所以javascript程式碼中充滿各種奇葩的寫法,有時霧裡看花,當然,能理解各型各色的寫法也是對javascript語言特性更進一步的深入理解。這篇文章主要給大家介紹了關於JavaScript中立即執行函式的相關資料,需要的朋友可以參考下。 前言

Hive使用pmod函式實現dayofweek函式功能

dayofweek在hive2.2.0開始支援,低版本的hive原生未提供dayofweek函式(獲取一個日期是星期幾的方法),所以只有我們自己編寫udf函式提供,udf就不說了,在這裡給出了一個使用hive原生函式獲取星期幾的技巧。pmod(datediff('${date}', '1920-01-01')

C++ Builder實現拖放功能

在C++ Builder中實現拖放功能 關鍵字:實現拖放功能,DockSite,DragKind,DragMode Windows中的拖放功能大家一定很熟悉了,如檔案的移動,拷貝等操作用滑鼠輕輕一拖即可,在編寫程式中有時也用到拖放,那麼如何實現呢?現以C++ Builder5(簡稱C

轉載:javaThread.sleep()函式使用

我們可能經常會用到 Thread.Sleep 函式來使執行緒掛起一段時間。那麼你有沒有正確的理解這個函式的用法呢?思考下面這兩個問題: 假設現在是 2008-4-7 12:00:00.000,如果我呼叫一下 Thread.Sleep(1000) ,在 2008-4-7 12:00:01.000 的時候

javascript常見的函式封裝 :判斷是否是手機,判斷是否是微信,獲取url地址?後面的具體引數值,毫秒格式化時間,手機端px、rem尺寸轉換等

// 判斷是否是手機 function plat_is_mobile(){   var sUserAgent = navigator.userAgent.toLowerCase();   var bIsIpad = sUserAgent.match(/ipad/i) == "ipad";   var

如何在T-sql 實現陣列的功能

T-SQL象陣列一樣處理字串、分割字串    在日常的程式設計過程中,陣列是要經常使用到的。在利用SQL對資料庫進行操作時,有時就想在SQL使用陣列,比如將1,2,3,4,5拆分成陣列。可惜的是在T-SQL中不支援陣列。不過還是有變通的辦法。我們可以自己編寫兩函式Get

javascript實現跨域的方式總結

第一種方式:jsonp請求;jsonp的原理是利用&lt;script&gt;標籤的跨域特性,可以不受限制地從其他域中載入資源,類似的標籤還有&lt;img&gt;. 第二種方式:document.domain;這種方式用在主域名相同子域

關於在PLSQL實現DEBUG除錯功能的方法

關於在PLSQL中實現DEBUG除錯功能的方法 2017年04月07日 14:27:52 samt007 閱讀數:2179 標籤: oracle除錯plsql 更多 個人分類: Oracle PL/SQL技巧 前言 

vue實現回到頂部功能

具體效果點選這裡檢視:   家盟家政 下面直接看程式碼:(不清楚的看對應註釋) <!-- 回頂部按鈕為一張50*50的圖片 --> <!-- btnFlag 控制圖片顯示隱藏 --> <!-- backTop 回頂部的方法 -->