for...in 获取一个对象的所有成员
1 <button onclick="GetAll();">获取一个对象的所有成员</button> 2 <script> 3 function GetAll() { 4 var p = new Object(); 5 p.name = "lued"; 6 p.age = "24"; 7 for(var key in p) { 8 alert(key); 9 } 10 } 11 </script>
PS:ECMAScript对象的属性没有顺序。因此,通过for...in循环输出的属性名的顺序是不可预测的。如果表示要迭代的对象的变量值为null或undefined, for...in语句会抛出错误。 ECMAScript 5更正了这一行为;对这种情况不再抛出错误,而只是不执行循环体。
while
while循环是先判断是否满足循环条件,如果满足循环等条件,就执行语句,语句执行过后再判断是否满足循环条件,如果满足环等条件,就执行语句,依次类推,直至不满足条件;否则就直接退出。
1 var i = 0;
2 var sum = 0;
3 while (i <= 100)
4 {
5 sum += i;
6 i++; 7 }
do...while
do...while语句是一种后测试循环语句,即只有在循环体中的代码执行之后,才会测试出口条件。 换句话说,在对条件表达式求值之前,循环体内的代码至少会被执行一次。
1 <button onclick="doWhile();">现在是 1,点我变 2</button> 2 <script> 3 function doWhile(i) { 4 var i = 1; 5 do { 6 i += 1; 7 } 8 while(i < 1); 9 alert(i); 10 } 11 </script>