js中alert中斷程式,那些你沒注意到小事

2021-10-01 11:28:38 字數 598 閱讀 5422

原創執契 發布於2018-11-08 12:07:17 閱讀數 1461 收藏 展開

場景:某前端介面在加入alert之後,程式能正常執行,而注釋掉後竟然程式無法正常執行了。

原因:第一,注意js前端的載入順序。為何alert能讓程式正常?是因為沒注意載入順序,而alert有終止程式的作用,從而給了系統緩衝空間,於是讓本應該後載入的地方先進行載入,所以讓程式正常了!

第二,由於多次呼叫後台,尤其是在for迴圈中前後臺互動,資料過多進而程序無序化,而每乙個迴圈中都alert一下相當於程式暫停,等待把事件執行完後才繼續下一步,使程式正常

解決方案:第一種情況,調整載入順序,因為js載入是一定規則的,給一種簡單粗暴的解決方案--對後執行的程式段直接settimeout延遲執行即可。完美解決載入順序問題

第二種情況,前後端互動過多呼叫導致順序紊亂,這個很麻煩,採取延遲執行策略不一定好使,反正我失敗了。只有動其根本,減少前後端互動,比如,本來是多次呼叫得到逐個資料,那就一次性獲取所有資料,在到前台慢慢解析!

談談其他的:alert不只是彈窗,還會強行終止程式,只到有callback後才能繼續執行程式!這點很重要,拿小本本記下

JS 中 call apply bind 那些事

回 雖然網上有很多關於這方面的部落格和文章,但還是決定寫一篇自己對這方面知識的理解。01 作用 首先問個問題,這三個函式的存在意義是什麼?答案是改變函式執行時的上下文,再具體一點就是改變函式執行時的this指向。有了這個認識,接下來我們來看一下,怎麼使用這三個函式。舉個栗子 function per...

JS中alert邏輯運算子的判斷

js中的邏輯運算子 alert a b 及alert a b 判斷 1 只要 前面為false,無論 後面是true還是false,結果都返回 後面的值。2 只要 前面為true,無論 後面是true還是false,結果都返回 前面的值。3 只要 前面是false,無論 後面是true還是false...

JS中邏輯中斷(短路操作)

1 邏輯與短路運算 如果表示式1結果為真 則返回表示式2 如果表示式1為假那麼返回表示式1 console.log 表示式1 表示式2 例子 console.log 12 23 列印結果為23 console.log 0 23 列印結果為0 console.log 0 23 3 34 2 列印結果為...