1、什么是闭包?
闭包是一个作用域访问函数内部变量的函数。
2.闭包的作用。
扩展变量的作用域。
3.闭包的危害。
内存泄漏,变量不能释放。
4.举例。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>闭包思考题</title>
</head>
<body>
<script>
//思考题1
var name = 'window';
var obj = {
name : 'myObject',
getFunction: function() {
return function () {
return this.name;
}
}
}
console.log(obj.getFunction()()); //输出window没有闭包
//思考题2
var name = 'window';
var obj = {
name : 'myObject',
getFunction: function() {
var that = this.name;
return function () {
return that;
}
}
}
console.log(obj.getFunction()()); //输出myObject有闭包
</script>
</body>
</html>