日期:2014-05-16  浏览次数:20337 次

JavaScript鍙惁澶氱嚎绋?

杞細http://www.2cto.com/kf/201204/129337.html

JavaScript鐨剆etTimeout涓巗etInterval鏄袱涓緢瀹规槗娆洪獥鍒汉鎰熸儏鐨勬柟娉?鍥犱负鎴戜滑寮€濮嬪父甯镐互涓鸿皟鐢ㄤ簡灏变細鎸夋棦瀹氱殑鏂瑰紡鎵ц, 鎴戞兂涓嶅皯浜洪兘娣辨湁鍚屾劅, 渚嬪


[javascript]
setTimeout( function(){ alert(鈥欎綘濂?鈥?; } , 0);聽
setInterval( callbackFunction , 100);聽
setTimeout( function(){ alert(鈥欎綘濂?鈥?; } , 0);
setInterval( callbackFunction , 100);


璁や负setTimeout涓殑闂€欐柟娉曚細绔嬪嵆琚墽琛?鍥犱负杩欏苟涓嶆槸鍑┖鑰岃,鑰屾槸JavaScript API鏂囨。鏄庣‘瀹氫箟绗簩涓弬鏁版剰涔変负闅斿灏戞绉掑悗,鍥炶皟鏂规硶灏变細琚墽琛? 杩欓噷璁炬垚0姣,鐞嗘墍褰撶劧灏辩珛鍗宠鎵ц浜?
鍚岀悊瀵箂etInterval鐨刢allbackFunction鏂规硶姣忛棿闅?00姣灏辩珛鍗宠鎵ц娣变俊涓嶇枒!

浣嗛殢鐫€JavaScript搴旂敤寮€鍙戠粡楠屼笉鏂殑澧炲姞鍜屼赴瀵?鏈変竴澶╀綘鍙戠幇浜嗕竴娈垫€紓鐨勪唬鐮佽€岀櫨鎬濅笉寰楀叾瑙?


[javascript]
div.onclick = function(){聽
聽聽聽 setTimeout( function(){document.getElementById(鈥檌nputField鈥?.focus();}, 0);聽
};聽
div.onclick = function(){
聽聽聽 setTimeout( function(){document.getElementById(鈥檌nputField鈥?.focus();}, 0);
};


鏃㈢劧鏄?姣鍚庢墽琛?閭d箞杩樼敤setTimeout骞蹭粈涔? 姝ゅ埢, 鍧氬畾鐨勪俊蹇靛凡寮€濮嬪姩鎽?

鐩村埌鏈€鍚庢煇涓€澶?, 浣犱笉灏忓績鍐欎簡涓€娈电碂绯曠殑浠g爜:


[javascript]
setTimeout( function(){ while(true){} } , 100);聽
setTimeout( function(){ alert(鈥欎綘濂?鈥?; } , 200);聽
setInterval( callbackFunction , 200);聽
setTimeout( function(){ while(true){} } , 100);
setTimeout( function(){ alert(鈥欎綘濂?鈥?; } , 200);
setInterval( callbackFunction , 200);

绗竴琛屼唬鐮佽繘鍏ヤ簡姝诲惊鐜?浣嗕笉涔呬綘灏变細鍙戠幇,绗簩,绗笁琛屽苟涓嶆槸棰勬枡涓殑浜嬫儏,alert闂€欐湭瑙佸嚭鐜?callbacKFunction涔熸澇鏃犻煶璁?

杩欐椂浣犲交搴曡糠鎯樹簡,杩欑鎯呮櫙鏄毦浠ユ帴鍙楃殑,鍥犱负鏀瑰彉闀夸箙浠ユ潵鏃㈠畾鐨勮鐭ュ幓鎺ュ彈鏂版€濇兂鐨勮繃绋嬫槸鐥涜嫤鐨?浣嗘儏浜嬪疄鎽嗗湪鐪煎墠,瀵笿avaScript鐪熺悊鐨勬帰姹傚苟涓嶄細鍥犱负鐥涜嫤鑰屽仠姝?涓嬮潰璁╂垜浠潵灞曞紑JavaScript绾跨▼鍜屽畾鏃跺櫒鎺㈢储涔嬫梾!

鎷斿紑浜戦浘瑙佹湀鏄?www.2cto.com

鍑虹幇涓婇潰鎵€鏈夎鍖虹殑鏈€涓昏涓€涓師鍥犳槸:娼滄剰璇嗕腑璁や负,JavaScript寮曟搸鏈夊涓嚎绋嬪湪鎵ц,JavaScript鐨勫畾鏃跺櫒鍥炶皟鍑芥暟鏄紓姝ユ墽琛岀殑.

鑰屼簨瀹炰笂鐨?JavaScript浣跨敤浜嗛殰鐪兼硶,鍦ㄥ鏁版椂鍊欓獥杩囦簡鎴戜滑鐨勭溂鐫?杩欓噷鑳屽厜寰楁緞娓呬竴涓簨瀹?

JavaScript寮曟搸鏄崟绾跨▼杩愯鐨?娴忚鍣?/a>鏃犺鍦ㄤ粈涔堟椂鍊欓兘鍙笖鍙湁涓€涓嚎绋嬪湪杩愯JavaScript绋嬪簭.

JavaScript寮曟搸鐢ㄥ崟绾跨▼杩愯涔熸槸鏈夋剰涔夌殑,鍗曠嚎绋嬩笉蹇呯悊浼氱嚎绋嬪悓姝ヨ繖浜涘鏉傜殑闂,闂寰楀埌绠€鍖?

閭d箞鍗曠嚎绋嬬殑JavaScript寮曟搸鏄€庝箞閰嶅悎娴忚鍣ㄥ唴鏍稿鐞嗚繖浜涘畾鏃跺櫒鍜屽搷搴旀祻瑙堝櫒浜嬩欢鐨勫憿?
涓嬮潰缁撳悎娴忚鍣ㄥ唴鏍稿鐞嗘柟寮忕畝鍗曡鏄?

娴忚鍣ㄥ唴鏍稿疄鐜板厑璁稿涓嚎绋嬪紓姝ユ墽琛?杩欎簺绾跨▼鍦ㄥ唴鏍稿埗鎺т笅鐩镐簰閰嶅悎浠ヤ繚鎸佸悓姝?鍋囧鏌愪竴娴忚鍣ㄥ唴鏍哥殑瀹炵幇鑷冲皯鏈変笁涓父椹荤嚎 绋?javascript寮曟搸绾跨▼,鐣岄潰娓叉煋绾跨▼,娴忚鍣ㄤ簨浠惰Е鍙戠嚎绋?闄や簺浠ュ,涔熸湁涓€浜涙墽琛屽畬灏辩粓姝㈢殑绾跨▼,濡侶ttp璇锋眰绾跨▼,杩欎簺寮傛绾跨▼閮戒細浜?鐢熶笉鍚岀殑寮傛浜嬩欢,涓嬮潰閫氳繃涓€涓浘鏉ラ槓鏄庡崟绾跨▼鐨凧avaScript寮曟搸涓庡彟澶栭偅浜涚嚎绋嬫槸鎬庢牱浜掑姩閫氫俊鐨?铏界劧姣忎釜娴忚鍣ㄥ唴鏍稿疄鐜扮粏鑺備笉鍚?浣嗚繖鍏朵腑鐨?璋冪敤鍘熺悊閮芥槸澶у悓灏忓紓.

JavaScript鐨剆etTimeout涓巗etInterval鏄袱涓緢瀹规槗娆洪獥鍒汉鎰熸儏鐨勬柟娉?鍥犱负鎴戜滑寮€濮嬪父甯镐互涓鸿皟鐢ㄤ簡灏变細鎸夋棦瀹氱殑鏂瑰紡鎵ц, 鎴戞兂涓嶅皯浜洪兘娣辨湁鍚屾劅, 渚嬪


\" border=JavaScript寮曟搸绾跨▼鏉ヨ,杩欎簨浠舵槸鐢卞叾瀹冪嚎绋嬪紓姝ヤ紶鍒颁换鍔¢槦鍒楀熬鐨?鐢变簬寮曟搸姝e湪澶勭悊t1鏃剁殑浠诲姟,杩欎釜榧犳爣鐐瑰嚮浜嬩欢姝e湪绛夊緟澶勭悊.

瀹氭椂瑙﹀彂绾跨▼:

娉ㄦ剰杩欓噷鐨勬祻瑙堝櫒妯″瀷瀹氭椂璁℃暟鍣ㄥ苟涓嶆槸鐢盝avaScript寮曟搸璁℃暟鐨?鍥犱负JavaScript寮曟搸鏄崟绾跨▼鐨?濡傛灉澶勪簬闃诲绾跨▼鐘舵€佸氨璁′笉浜嗘椂,瀹冨繀椤讳緷璧栧閮ㄦ潵璁℃椂骞惰Е鍙戝畾鏃?鎵€浠ラ槦鍒椾腑鐨勫畾鏃朵簨浠朵篃鏄紓姝ヤ簨浠?

鐢卞浘鍙煡,鍦ㄨ繖t1鐨勬椂闂存鍐?缁ч紶鏍囩偣鍑讳簨浠惰Е鍙戝悗,鍏堝墠宸茶缃殑setTimeout瀹氭椂涔熷埌杈句簡,姝ゅ埢瀵笿avaScript寮曟搸鏉ヨ,瀹氭椂瑙﹀彂绾跨▼浜х敓浜嗕竴涓紓姝ュ畾鏃朵簨浠跺苟鏀惧埌浠诲姟闃熷垪涓? 璇ヤ簨浠惰鎺掑埌鐐瑰嚮浜嬩欢鍥炶皟涔嬪悗,绛夊緟澶勭悊.
鍚岀悊, 杩樻槸鍦╰1鏃堕棿娈靛唴,鎺ヤ笅鏉ユ煇涓猻etInterval瀹氭椂鍣ㄤ篃琚坊鍔犱簡,鐢变簬鏄棿闅斿畾鏃?鍦╰1娈靛唴杩炵画琚Е鍙戜簡涓ゆ,杩欎袱涓簨浠惰鎺掑埌闃熷熬绛夊緟澶勭悊.

鍙,鍋囧鏃堕棿娈祎1闈炲父闀?杩滃ぇ浜巗etInterval鐨勫畾鏃堕棿闅?閭d箞瀹氭椂瑙﹀彂绾跨▼灏变細婧愭簮涓嶆柇鐨勪骇鐢熷紓姝ュ畾鏃朵簨浠跺苟鏀惧埌浠诲姟闃熷垪灏捐€屼笉绠″畠 浠槸鍚﹀凡琚鐞?浣嗕竴鏃1鍜屾渶鍏堢殑瀹氭椂浜嬩欢鍓嶉潰鐨勪换鍔″凡澶勭悊瀹?杩欎簺鎺掑垪涓殑瀹氭椂浜嬩欢灏变緷娆′笉闂存柇鐨勮鎵ц,杩欐槸鍥犱负,瀵逛簬JavaScript寮曟搸鏉?璇?鍦ㄥ鐞嗛槦鍒椾腑鐨勫悇浠诲姟澶勭悊鏂瑰紡閮芥槸涓€鏍风殑,鍙槸澶勭悊鐨勬搴忎笉鍚岃€屽凡.

t1杩囧悗,涔熷氨鏄褰撳墠澶勭悊鐨勪换鍔″凡杩斿洖,JavaScript寮曟搸浼氭鏌ヤ换鍔¢槦鍒?鍙戠幇褰撳墠闃熷垪闈炵┖,灏卞彇鍑簍2涓嬮潰瀵瑰簲鐨勪换鍔℃墽琛?鍏跺畠鏃堕棿渚濇绫绘帹,鐢辨鐪嬫潵:

濡傛灉闃熷垪闈炵┖,寮曟搸灏变粠闃熷垪澶村彇鍑轰竴涓换鍔?鐩村埌璇ヤ换鍔″鐞嗗畬,鍗宠繑鍥炲悗寮曟搸鎺ョ潃杩愯涓嬩竴涓