3-0 js基礎 語言特性及性能優化

1、語言特性:
          內存泄露:內存沒有釋放,越堆越多。
垃圾回收(生命週期):
1、局部 很短 在局部中當函數完成時。已經釋放了。全局變量在頁面關閉的時候才被回收。
2、全局 很長
3、閉包。可長可短,只要這個變量還有用,函數中的局部變量就不會消失。
只要這個變量還有用,函數中全部的局部變量就不會消失。
只要這個變量還有用,整個做用域鏈上的全部局部變量鬥不會消失。
function  show(){
var a=1;
var b=1;
document.onclick=function(){
alert(a);
}
}

a,b,在show調用後,都不會消失。
b,不消失的緣由:
1、穩定
2、速度
做用域鏈:在子級找這個東西,若是沒有找父級。直到找到全局。從底層找到最高層。
遞歸:把比較大的事情,分散爲比較小的事情。【斐鉑那鍥發明的】
效率很是高,可是重複的太多,影響性能。
解決方法:聲明數組,將有的東西存起來。

性能優化:
【1、網絡性能   
f12 network
yslow,學習工具。
減小Http請求。(文件合併)
代碼壓縮。
圖片懶加載。
  2、執行性能】
1、穩定性
2、擴展性
3、性能。
注意:
1、儘可能不要用全局變量
2、儘可能不要用屬性,用變量,屬性比較慢
3、循環。
4、儘可能用正則
5、儘可能用系統自帶的。
6、儘可能減小dom操做。【指的是運動】,看不到的地方停掉。
7、儘可能不要用圖片,儘可能不要縮放
8、背景圖平鋪,儘可能用大一點的圖片。
可選項:
正則更快。
字符串操做比數組快。
<script>標籤儘可能放倒body的最下面。由於它能夠阻塞加載。
css必定要放到上面。
相關文章
相關標籤/搜索