js記憶體洩露之js物件和dom物件互相引用

2021-08-03 00:01:15 字數 490 閱讀 6695

該問題涉及到作用域鏈,js物件和dom物件互相引用的問題。

因為對於匿名函式而言,其作用域鏈包含三個物件:匿名函式的變數物件、dotry()的變數物件和全域性變數物件。此時dotry函式物件中btn變數引用了dom物件,即dotry函式物件引用dom物件;              然後根據匿名函式包括的物件,dom物件的onclickà匿名函式物件、匿名函式物件àdotry函式物件,即得dom物件引用dotry()。所以解釋了互相引用的情況存在,導致記憶體無法。

解決思路:將互相引用中斷。

兩種方法解決:

js 訪問DOM物件

document物件 document物件實際上是window物件的屬性.所以,如下訪問是正確的 window.document.document 有許多屬性 常用的,可讀寫的 document.title 改變頁面標題 document.url 載入新頁面 document集合 document....

js文件物件模型DOM

1 textarea select input必須同時有id和name 2 每個節點都有兩個屬性 nodename和nodetype 但只有文字節點才會有nodue值 var p document.getelementbyidx x pnode 父節點 p.parentnode 子節點的陣列集合 p...

JS中的DOM物件

主要是操作html 內容 dom document object model w3c api標準 是w3c組織推薦的處理可擴充套件置標語言的標準程式設計介面。它是一種與平台和語言無關的應用程式介面 api 它可以動態地訪問程式和指令碼,更新其內容 結構和www文件的風格 目前,html和xml文件是...