js闭包相关知识点

题目一bash

如何理解闭包,并举例说明闭包

闭包是在一个函数内声明了另一个函数,经过另外一个函数访问这个函数的局部变量,利用闭包能够突破函数的做用域链。将函数内部的变量和方法传递到外部。

闭包的特性:
1.函数内再嵌套函数。
2.内部函数能够引用外层的参数和变量
3.参数和变量不会被垃圾回收机制回收。
复制代码
举例说明:
var count = 10;
function add(){
    var count = 0;
    return function(){
        count += 1;
        alert(count);
    }
}
var d = ddd();
d();    // 1
d();    // 2
复制代码

JS哪些操做会形成内存泄露函数

答案:ui

1.意外的全局变量引发的内存泄漏。
function leak(){
    leak = "xxx";   leak成为一个全局变量,不会被回收。
}
2.闭包引发的内存泄漏。
3.没有清理的DOM元素引用。
4.被遗忘的定时器或回调。
5.子元素存在引发的内存泄漏。
复制代码

题目二spa

console.log('x' in window); var x; x = 0;code

答案:true内存

解析:预解析,var x;变量提高。打印是判断x是否是存在在window里 。x声明未赋值为undefined。window里有x。因此为true。最后值为0.作用域

闭包 有权访问另外一个函数做用域里变量的函数string

function box(){
    return function(){
        return 'lee';
    }
}
alert(box); //function box(){ return function(){ return 'lee'}}
alert(box());   //function(){ return 'lee'}
alert(box()()); //lee
复制代码
相关文章
相关标签/搜索