js-challenges
js-challenges copied to clipboard
实现一个函数a,使其奇数次调用时返回1,偶数次调用时返回2(不能使用全局变量)
let A = (function(){
let idx = 0;
return function(){
idx++;
if(idx % 2 === 1) console.log(1);
else console.log(2);
}
})()
A();
A();
A();
闭包应用
function main(){
let num = 0;
return function(){
return (++num) % 2 === 1 ? 1 : 2;
}
}
function createFunction() {
let count = 0;
return function() {
count++;
if (count % 2 === 0) {
return 2;
} else {
return 1;
}
};
}
let a = createFunction();
console.log(a()); // 输出:1
console.log(a()); // 输出:2
console.log(a()); // 输出:1
const main = () => {
let count = 0;
let rs = 0;
return () => {
if(count %2 == 0) {
rs = 1
} else {
rs = 2;
}
count++;
return rs;
}
}
const controller = main()
for(var i = 0; i < 10; i++) {
console.log(controller());
}