window.onload=onWindowLoaded() {letbutton=document.querySelector('button')button.bigString=newArray(1000).join(newArray(1000).join('some big data'))button.onclick=onButtonClicked() {console.log('糟糕,内存泄漏了')}}
window.onload = onWindowLoaded() {
let button = document.querySelector('button')
button.bigString = new Array(1000).join(new Array(1000).join('some big data'))
button.onclick = onButtonClicked() {
console.log('很好,没有内存泄漏')
}
button = null
}
window.onload = onWindowLoaded() {
function onButtonClicked() {
console.log('很好,没有内存泄漏')
}
(function anotherFn() {
let button = document.querySelector('button')
button.bigString = new Array(1000).join(new Array(1000).join('some big data'))
button.onclick = onButtonClicked
})()
}
function onButtonClicked() {
console.log('很好,没有内存泄漏')
}
window.onload = onWindowLoaded() {
let button = document.querySelector('button')
button.bigString = new Array(1000).join(new Array(1000).join('some big data'))
button.onclick = onButtonClicked
}
let bigData = new Array(1000).join(new Array(1000).join('some big data'))
// do sth with bigData
// don't need bigData anymore
bigData = null
function foo() {
bigData = new Array(1000).join(new Array(1000).join('some big data'))
}
function foo() {
// 相当于 window.bigData = new Array(1000).join(new Array(1000).join('some big data'))
this.bigData = new Array(1000).join(new Array(1000).join('some big data'))
}
foo()
const bigData = new Array(1000).join(new Array(1000).join('some big data'))
setInterval(function () {
let button = document.querySelector('button')
if (button) {
console.log(bigData)
}
}, 1000)
setTimeout(function () {
let button = document.querySelector('button')
button.parentElement.removeChild(button)
}, 5000)
const bigData = new Array(1000).join(new Array(1000).join('some big data'))
const button = document.querySelector('button')
button.addEventListener('click', function () {
console.log(bigData)
})
setTimeout(function () {
let button = document.querySelector('button')
button.parentElement.removeChild(button)
}, 5000)