第94天 用js写出死循环的方法有哪些?
while(true){
}
for(let i = 0;i<0;i++){
}
循环/递归不设置结束条件。
function fn(n){
fn(n+1)
}
非常规解法
const infiniteIterable = {
[Symbol.iterator]() {
const thisRef = this
return {
value: true, // or any other value
next() {
return thisRef[Symbol.iterator]()
}
}
}
}
for (let _ of infiniteIterable) {
// ...
}
while(1){
console.log('%%%%');
}
whilewhile (true) {
}
forfor (;;) {
}
1.递归不限制条件
2.while(true){ }
循环如果能结束就不是死循环,即设置一个永远达不到的结束条件就能造成死循环。
while (true) {}
for (let i = 0; i > 0; i++) {}
// 这个等价于 while
for (;;) {}
let i = 0;
do {
i++;
} while (i > 0);
// 不设置结束条件
function fn(a) {
console.log(a);
fn(a);
}
递归不优化做无限循环就容易爆栈,从而报错。
Most helpful comment
whilefor