咱們在用ajax請求數據時,可能會遇到一次點擊屢次觸發的可能。(好比說:ajax 的 onreadystatechange 事件就會觸發屢次;這是由於 onreadystatechange 是一個事件句柄。它的值 (state_Change) 是一個函數的名稱,當 XMLHttpRequest 對象的狀態發生改變時,會觸發此函數。狀態從 0 (uninitialized) 到 4 (complete) 進行變化。僅在狀態爲 4 時,咱們才執行代碼。」 每次XMLHttpRequest 對象的狀態發生改變時,會觸發此函數。一共會觸發 4 次,從 0 到 4。)【PS:固然這裏引用的例子不徹底符合工做時遇到的問題】此時,咱們須要一個能夠來終止程序的方法。exit 和abort 都是用來終止程序的函數,下面咱們來說一下這二者的不一樣之處。
exit會作一些釋放工做:釋放全部的靜態的全局的對象,緩存,關掉全部的I/O通道,而後終止程序。若是有函數經過atexit來註冊,還會調用註冊的函數。不過,若是atexit函數扔出異常的話,就會直接調用terminate。
abort:馬上terminate程序,沒有任何清理工做。ajax