★while循环的效率要高于for循环
1.十行十列的⭐
var j=0;
var row=10;
var col=10;
while(j++<col){
var i=0;
while(i++<row) document.write("⭐");
document.write("<br/>");
}
2.计算1~100的和
var i=0;
var sum=0;
while(i++<100){
sum+=i;
}
console.log(sum);
3.无序列表嵌套
var j=0;
document.write("<ul>")
while(j++<10){
document.write("<li>第"+j+"章<ul>");
var i=0;
while(i++<10) document.write("<li>第"+i+"节</li>");
document.write("</ul></li>");
}
document.write("</ul>");
4.正直角三角形
var i=0;
var j=0;
while(j++<6){
while(i++<j) document.write("*");
document.write("<br>");
i=0;
}
5.等腰三角形
var i=0;
var j=0;
while(j++<10){
while(i++<10-j) document.write("  ");
while(i++<j) document.write("❤");
document.write("<br>");
i=0;
}
6.菱形
var j=0;
while(j++<10){
var i=0;
while(i++<10-j) document.write(" ");
while(i++<j) document.write("❤");
document.write("<br>");
}
var k=10;
while(k-->0){
var b=0;
while(b++<10-k) document.write(" ");
while(b++<k) document.write("❤");
document.write("<br>");
}
7.九九乘法表
var j=0;
while(j++<9){
var i=0;
while(i++<j){
document.write(i+"*"+j+"="+i*j);
document.write(" ")
}
document.write("<br>");
}
8.1000以内的水仙花数
var i=0; //百位
var j=0; //十位
var k=0; //各位
var num=0;
while(i<10){
while(j<10){
while(k<10){
if(k*k*k+j*j*j+i*i*i === i*100+j*10+k){
document.write(num=i*100+j*10+k);
document.write("<br>");
}
k++;
}
j++;
k=0;
}
i++;
j=0;
}
9.1-100之间所有的质数
var i=0;
var j=2;
var bool=true;
while(i++<100){
j=2;
bool=true;
while(j<i){
if(i%j === 0){
bool=false;
break;
}
j++;
}
if(bool) document.write(i+"<br>");
}
广度遍历,深度遍历
var obj = {
value: 1,
link: {
value: 2,
link: {
value: 3,
link: {
value: 4,
link: {
value: 5,
link: {
value: 6,
link: {
value: 7,
link: {},
},
},
},
},
},
},
};
while(obj.link){
console.log(obj.value);
obj=obj.link;
}
var obj={
value:1,
a:{
value:2,
b:{
value:3,
c:{
value:4,
d:{
value:5,
e:{
value:6,
f:{
value:7,
g:{}
}
}
}
}
}
}
}
var arr=["a","b","c","d","e","f","g"];
var i=0;
var s=arr[0];
while(obj[s]){
console.log(obj.value);
obj=obj[s];
i++;
s=arr[i];
}