92国产精品视频_亚洲a级在线观看_国产精品电影观看_国产精品免费观看在线_精品伊人久久97_亚洲人成在线观_尤物九九久久国产精品的特点_成人激情在线播放_成人黄色大片在线免费观看_亚洲成人精品久久久_久久免费视频在线观看_久久精品国产一区_国产一区二区三区18_亚洲欧美中文字幕在线一区_日韩美女中文字幕_日韩视频免费在线

JS中作用域的銷毀和不銷毀的情況總結

2018-5-25    seo達人

如果您想訂閱本博客內容,每天自動發到您的郵箱中, 請點這里

window全局作用域->頁面關掉才銷毀
函數執行會形成私有的作用域

1)作用域的銷毀
一般情況下,函數執行形成一個私有的作用域,當執行完成后就銷毀了->節省內存空間

2)作用域的不立即銷毀
function fn(){
var i=10;
return function(n){
console.log(n+i++);
}
}
fn()(15);//->先執行fn,有一個私有的變量i=10,返回一個堆內存地址 xxxfff111,我們發現這個地址還用到了一次,那么當前的這個fn形成私有作用域(A)就不能立即銷毀了,xxxfff111(15)->輸出25,A中的i變為11;當xxxfff111執行完了,發現這個地址沒用了,瀏覽器就把A、xxxfff111都釋放了

fn()(20);//->在執行fn的時候一切都從新開始了,和上面的步驟是一樣的->輸出30

3)作用域的不銷毀:形成一個私有作用域,里面的內容被外面占用了
function fn(){
var i=10;
return function(n){
console.log(n+i++);
}
}
var f=fn();//->fn執行形成一個私有的作用域A,A中有一個私有的變量i=10,A中返回一個地址xxxfff11,被外面的f占用了,那么當前的A就不能銷毀了
f(15);//->輸出25,讓A中的i=11
f(20);//->輸出31,讓A中的i=12

當我們知道f用完的時候,為了優化性能,我們讓f=null,這樣的話A中的xxxfff111沒人占用了,瀏覽器會把A和xxxfff111都釋放了


幾種不銷毀常用到的形式:
1)函數執行,返回一個引用數據類型的值,并且在函數的外面被別人接收了,那么當前函數形成的私有作用域就不在銷毀了–>例如上面的案例

2)在函數執行的時候,里面的一個小函數的地址賦值給了我們的外面元素的點擊事件,那么當前小函數也相當于被外面占用了,大函數執行形成的私有的作用域也不銷毀了
//每一次循環都執行自執行函數形成一個私有的作用域(循環三次就有三個作用域,每一個作用域中都有一個i,第一個存儲的是0,第二個存數的是1..),在每一個私有的作用域中都把里面的函數綁定給了外面元素的點擊事件,這樣的話每一次形成的作用域都不銷毀了(三個不銷毀的作用域)
var oLis=document.getElementsByTagName(“li”);
for(var i=0;i<oLis.length;i++){
~function(i){
oLis[i].onclick=function(){
tabChange(i);
}
}(i);
}

3)在使用setTimeout實現輪詢動畫的時候,我們如果move需要傳遞參數值,那么像下面這樣的寫法會行成很多的不銷毀的作用域,非常的耗性能
function move(tar){
<js code>

//window.setTimeout(move,10); ->第二次執行move的時候我們沒有給它傳值(這樣寫不行)
window.setTimeout(function(){
move(tar);
},10);//->這樣寫實現了,但是每一次執行定時器都會形成一個私有的所用域(匿名函數形成的)A,在A中使用了上級作用域中的tar的值,而且執行了move又形成了一個小的作用域(而在小的作用域中會使用tar的值),這樣每一次定時器形成的A都不能銷毀了
}
move(100);//->第一次這樣執行傳遞100

//解決辦法:
function move(tar){
~function _move(){
<js code>
window.setTimeout(_move,10);
}();
}
move(100);//->第一次這樣執行傳遞100


JS中內存空間釋放的問題(堆內存、棧內存)
[谷歌瀏覽器]
我們開辟一個內存,可能或有一些其他的變量等占用了這個內存,谷歌瀏覽器都會間隔一段時間看這個內存還有沒有被占用,如果發現有沒有被占用的內存了,就自己幫我們回收了(內存釋放)

[火狐和IE]
我們開個內存,當我們引用了它,就在內存中記錄一個數,增加一個引用瀏覽器就把這個數+1,減少一個引用,瀏覽器就把這個數-1…當減到零的時候瀏覽器就把這個內存釋放了;但是有些情況下(尤其是IE)記著記著就弄亂了,內存就不能釋放了–>瀏覽器的內存泄露

var obj={};
我們養成一個好的習慣,當我們obj這個對象使用完成了,我們手動的obj=null (null空對象指針),瀏覽器會自己把剛才的堆內存釋放掉


藍藍設計m.skdbbs.com )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 、平面設計服務

日歷

鏈接

個人資料

藍藍設計的小編 http://m.skdbbs.com

存檔

92国产精品视频_亚洲a级在线观看_国产精品电影观看_国产精品免费观看在线_精品伊人久久97_亚洲人成在线观_尤物九九久久国产精品的特点_成人激情在线播放_成人黄色大片在线免费观看_亚洲成人精品久久久_久久免费视频在线观看_久久精品国产一区_国产一区二区三区18_亚洲欧美中文字幕在线一区_日韩美女中文字幕_日韩视频免费在线
色狠狠一区二区| 欧美一级成年大片在线观看| 制服诱惑一区二区| sese在线视频| 欧美精品一区二| 国产欧美日韩精品在线观看| jizz在线免费观看| 国产精品视频免费一区二区三区| 国产成人极品视频| 九九热99久久久国产盗摄| 91在线小视频| 玖玖精品视频| 久久好看免费视频| 精品在线视频一区二区| 国产精品99久久久久久久久久久久| 亚洲精品国产精品国自产| 欧美xxxxxx| 欧美大黑bbbbbbbbb在线| 日本在线观看一区| 日韩精品第一| 日本精品性网站在线观看| 久久久久久久久久久亚洲| 主播福利视频一区| 91欧美精品成人综合在线观看| 亚洲视频图片小说| 欧美成人福利视频| 四虎地址8848精品| 午夜亚洲性色视频| 国产粉嫩在线观看| av电影高清在线观看| 国产欧美亚洲精品a| 久久久久久9999| 国产精品一区二区久久久| 欧美日韩五码| 国精产品一区一区三区四川| 精品在线视频一区| 成人免费xxxxx在线观看| 无码av免费一区二区三区试看| 国产亲近乱来精品视频| 久久精品国产综合精品| 中文字幕av一区二区| 欧美日韩在线一区二区三区| 色一情一乱一区二区| 国产女人aaa级久久久级| 久久久国产综合精品女国产盗摄| 亚洲精品美女久久久久| 国产精品美女久久久浪潮软件| 欧美国产精品va在线观看| 亚洲黄色片在线观看| 亚洲国产精品精华液网站| 日本中文字幕电影在线免费观看| av资源网一区| 欧美毛片免费观看| 99视频国产精品| 高清视频一区二区| 成人福利网站在线观看11| 成人免费高清观看| 亚洲网站三级| 激情综合色丁香一区二区| 日韩美女主播在线视频一区二区三区| 综合久久久久久久| 国产1区在线| 免费大片在线观看www| 日本欧美电影在线观看| 欧美人与禽猛交乱配| 丁香婷婷久久久综合精品国产| 亚洲成成品网站| 99中文字幕| 成人一级片在线观看| 91精品久久久久久久久久另类| 亚洲香蕉久久| 老司机精品视频一区二区三区| 欧美四级电影网| 久草在线资源站手机版| 视频一区视频二区中文| 国产三级电影在线播放| 红桃视频国产一区| 激情都市一区二区| 欧美网站一区二区| 国产乱子轮精品视频| 国产精品盗摄一区二区三区| 欧美在线三区| 亚洲高清三级视频| 欧美国产日本高清在线| 国产精品久久久久久久久久妞妞| 欧美激情视频在线| 999国产精品永久免费视频app| 久久久久久久性潮| 成人免费毛片嘿嘿连载视频| 成人一区二区三区| 精品国产乱码久久久久| 国产91精品露脸国语对白| 国产精品69毛片高清亚洲| 黄页视频在线91| 精品视频久久久久久| 97激碰免费视频| 亚洲国产精品嫩草影院| 国产伦精品一区二区三区在线| 国语精品一区| 日韩在线观看不卡| 麻豆精品视频在线观看视频| 暴力调教一区二区三区| 欧美日韩一区二区三区视频播放| 1000部精品久久久久久久久| 麻豆久久久久久| 97久久久精品综合88久久| 99久久久久国产精品| 一区在线视频观看| 五月天激情小说综合| 国产成人精品亚洲日本在线观看| 国产九九在线| 亚洲精选视频免费看| 亚洲欧美一区二区三区| 久久99国产精品久久| 亚洲国产91精品在线观看| 一区二区在线视频| 日韩高清欧美激情| 国产主播一区二区三区| 欧美日本久久| 欧美三级视频在线播放| 亚洲人成毛片在线播放| 韩国午夜理伦三级不卡影院| 日韩欧美国产综合| 国产成人精品三级高清久久91| 5566中文字幕一区二区电影| 亚洲精品美女免费| 久久久9色精品国产一区二区三区| 国产综合视频| 国产精品成人在线| 日韩有码欧美| 亚洲欧洲精品成人久久奇米网| 欧美寡妇偷汉性猛交| 老司机精品福利在线观看| 91在线观看| 色综合天天综合狠狠| 正在播放欧美视频| 欧美日韩国产成人在线免费| 日韩av大片在线| 亚洲欧美成人网| 人人视频精品| 国产黄色精品网站| 国产无遮挡一区二区三区毛片日本| 国产mv日韩mv欧美| 日韩综合在线| 91精品国产一区二区三区蜜臀| 蜜桃导航-精品导航| 九色成人免费视频| 国产精品xnxxcom| 一本色道久久88综合日韩精品| 国产精品免费网站| 久久综合电影| 91九色鹿精品国产综合久久香蕉| 国产91在线视频蝌蚪| 国产精品亚发布| eeuss鲁片一区二区三区在线观看| 国产成人夜色高潮福利影视| 国产精品视频yy9099| 一二三区精品福利视频| 91成人理论电影| 在线精品观看国产| 精品动漫av| 精品无人区乱码1区2区3区在线| 欧美日韩免费网站| 免费成人看片网址|