js-challenges icon indicating copy to clipboard operation
js-challenges copied to clipboard

实现一个函数a,使其奇数次调用时返回1,偶数次调用时返回2(不能使用全局变量)

Open Sunny-117 opened this issue 3 years ago • 4 comments

Sunny-117 avatar Nov 03 '22 08:11 Sunny-117

let A = (function(){
    let idx = 0;
    return function(){
        idx++;
        if(idx % 2 === 1) console.log(1);
        else console.log(2);
    }
})()
A();
A();
A();

闭包应用

bearki99 avatar Feb 13 '23 02:02 bearki99

function main(){
    let num = 0;
    return function(){
        return (++num) % 2 === 1 ? 1 : 2;
    }
}

veneno-o avatar Mar 10 '23 19:03 veneno-o

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

kangkang123269 avatar Sep 11 '23 08:09 kangkang123269

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());
}

Windseek avatar Nov 17 '24 00:11 Windseek