for(i=0;i<100;)console.log((++i%3?'':'Fizz')+(i%5?'':'Buzz')||i)
这个代码输出的结果本身就不正确的,没必要分解了。
我也来玩玩~
!function (p, m, i, c, l) { while (i++ < c) { l(((i + '').indexOf(p[0]) + 1) ? m[0] : (p.map(function (n, j) { return i % n ? '' : m[j] }).join('') || i)) } }([ 3, 5, 7 ], [ 'Fizz', 'Buzz', 'Whizz' ], 0, 100, console.log)