日期:2014-05-16  浏览次数:20369 次

请教js中for in 的使用方法
例如
<input   type= "checkbox "   name= "base "   value= "水电 "   onClick= "javaScript:Checkbase(); ">
  水电
  <input   type= "checkbox "   name= "base "   value= "煤气 "   onClick= "javaScript:Checkbase(); ">
  煤气
  <input   type= "checkbox "   name= "base "   value= "天然气 "   onClick= "javaScript:Checkbase(); ">
  天然气
  <input   type= "checkbox "   name= "base "   value= "暖气 "   onClick= "javaScript:Checkbase(); ">
  暖气
  <input   type= "checkbox "   name= "base "   value= "有线电视 "   onClick= "javaScript:Checkbase(); ">
  有线电视
  <input   type= "checkbox "   name= "base "   value= "电梯 "   onClick= "javaScript:Checkbase(); ">
  电梯

如何用for   in   来检查如果有其中一个选了就返回1没有一个选了的返回2

------解决方案--------------------
function ForInDemo(){
// 创建某些变量。
var a, key, s = " ";
// 初始化对象。
a = { "a " : "Athens " , "b " : "Belgrade ", "c " : "Cairo "}
// 迭代属性。
for (key in a) {
s += a[key] + "&ltBR> ";
}
return(s);
}


对应于一个对象的每个属性,或一个数组的每个元素,执行一个或多个语句。

for (variable in [object | array])
statements
参数
variable
必选项。一个变量,它可以是 object 的任一属性或 array 的任一元素。
object, array
可选项。要在其上遍历的对象或数组。
statement
可选项。相对于 object 的每个属性或 array 的每个元素,都要被执行的一个或多个语句。可以是复合语句。
说明
在循环的每次迭代前,variable 被赋予 object 的下一个属性或 array 的下一个元素。然后可以在循环内的任一语句中使用它,就好像正在使用 object 的该属性或 array 的该元素一样。

当在一个对象上迭代时,没有办法决定或控制把对象的成员赋给 variable 的次序。在数组内将按元素的次序执行迭代,也就是,0、1、2、......

------解决方案--------------------
function Checkbase(){
var bs=document.getElementsByName( "Base ");
n=bs.length;
for (var i=0; i <n; i++)
{
alert(bs[i].checked);
}
}
------解决方案--------------------
<script type= "text/javascript ">
Object.extend = function(destination, source) {
for (property in source) {
destination[property] = source[property];
}
return destination;
}
var wc = Object.extend(new Object(), {
name : "wc ",
age : 18
})
alert(wc.name + "\n " + wc.age);
</script>
这里把for in表达的很清楚了...