考虑以下一段 JavaScript:
<script>
function Ninja() {
var feints = 0;
this.getFeints = function() {
return feints;
}
this.feint = function() {
feints++;
}
this.increaseByTwo = function() {
feints = feints + 2;
}
}
var ninja = new Ninja();
ninja.feint();
console.log(ninja.getFeints()); //outputs one
ninja.increaseByTwo();
console.log(ninja.getFeints()); // outputs three
</script>
我说上面的代码创建了四个闭包是对的吗
- 一个忍者 - 这有点无关紧要。
- Ninja 内部的每个内部功能都有一个。这三个闭包中的每一个都指向同一件事。
还是 JavaScript 创建了两个闭包
- 忍者的一个 - 这有点无关紧要
- 一为三内功。三个内部函数共享同一个闭包。