您的位置:首页 > 职场人生

js闭包面试题目

2017-09-10 11:25 211 查看
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>

<script>
/**
* 闭包调用
* @param n
* @param o
* @returns {{fun: fun}}
*/
function fun(n,o) {
console.log(o);//打印n
return {
fun :function (m) {
return fun(m,n)//闭包n 继续调用fun(n,o),其中n->m,o->n(上一次的n)
}
}
}
/**
* 产生了一个闭包
* @type {any}
*/
var a=fun(0)//undefined  没有产生新的闭包
a.fun(1)//0
a.fun(2)//0
a.fun(3)//0
/**
* 产生了4次闭包
*/
var a=fun(0)//undefined
.fun(1)//0
.fun(2)//1
.fun(3)//2
/**
* 产生2次闭包
*/
var a1=fun(0)//undefined
.fun(1);//0
a1.fun(2)//1
a1.fun(3)//1
</script>
</body>
</html>


该题目考的闭包
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: