亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

js的閉包和回調到底怎么才會造成真的內存泄漏呢?

js的閉包和回調到底怎么才會造成真的內存泄漏呢?

江戶川亂折騰 2019-04-08 11:19:11
最近看了一些分享的js內存泄漏典型案例,感覺這種代碼以前一直寫,現在不留意的話也一直這么寫,到現在發現寫代碼的時候老怕閉包和回調了,在前端出現泄露的話問題還不算非常嚴重,但如果后端使用nodejs寫出現內存泄露的話,這可會讓服務崩潰。為了嚴謹性,到這里問下各位技術達人。//一下是angularjs的controller模擬function($scope){$scope.todo1=todo1;$scope.todo2=todo2;$scope.todoAll={todo1:todo1..}}像這樣的回調其實就是一種閉包,那么這個時候會造成內存泄露嗎?再看這里functionfoo($scope){vartext='youclickme!!!';varclickHanlder=function(){alert(text);}$scope.clickHanlder=clickHanlder;}var$a={}foo($a);$a.clickHanlder();//這里的text被提到全局的作用域了,這種算內存泄露嗎?如果$a是DOM呢?vargloablObject={}varaddCallback=function(hanlder){//這樣的閉包回調有問題嗎?varvalue=function(){vartemp;if(true){temp=newValue(true);}else{temp=newValue();}returntemp;}hanlder(value);}addCallback(function(value){//1這里有問題嗎?globalObject.ref=value;//2這里呢?globalObject.ref=function(nv){alert(nv.todo(value));}});還有//下面的代碼大致模擬一下angularjs的寫法fn(function($add){varpro1='pro1';varpro2='pro2';returnfunction(){$add(pro1,pro2);}});類似這些寫法很經常,現在遇到閉包和回調我都分不出我寫的代碼會不會造成內存泄露了,js坑很大?。?!
查看完整描述

1 回答

  • 1 回答
  • 0 關注
  • 804 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號