大侠且先看如下代码:
function GetSelectedButton(ButtonGroup)
{
     for(var x=0;x<ButtonGroup.length;x++)
     if(ButtonGroup[x].checked)return x
     return0
}
这是制作网页测试表时使用的一段代码。问题如下:
   这段代码里面的ButtonGroup是JavaScript里面的一个内置数组吗?如果不是,那它是怎样起作用的(它在前面并没有被创建,而是直接拿出来的)?本人学习JavaScript才一个星期左右,问题弱智还望大侠海涵。

解决方案 »

  1.   

    这里的ButtonGroup是一组单选框之类的吧
      

  2.   

    <HTML>
    <HEAD>
    <TITLE> test </TITLE>
    <script language="javascript">
    function GetSelectedButton(ButtonGroup){
      for(var x=0;x<ButtonGroup.length;x++){
        if(ButtonGroup[x].checked)return x;
      }
      return 0;
    }
    function WhoIsSelected(o){
      var n=GetSelectedButton(o);
      var msg=n==0?'一个也没选哦...':'您选择的是第'+(n+1)+'项'+document.getElementsByName('ButtonGroup')[n].value;
      alert(msg);
      
    }
    </script> 
     </HEAD> <BODY>
        <form name = "myForm">
            <input type = "radio" name = "ButtonGroup" value = "aaaa" />aaaa
            <input type = "radio" name = "ButtonGroup" value = "bbbb" />bbbb
            <input type = "radio" name = "ButtonGroup" value = "cccc" />cccc
            <input type = "radio" name = "ButtonGroup" value = "dddd" />dddd
        </form>
        <button onclick="WhoIsSelected(document.getElementsByName('ButtonGroup'))">看看选了谁?</button>
     </BODY>
    </HTML>
      

  3.   

    感谢各位,但是这个buttongroup为什么有length属性呢
      

  4.   

    如果是按3楼的代码来看的话,这个ButtonGroup是指换进函数的参数,而这个参数是document.getElementsByName('ButtonGroup')对象,所以当然有length属性。如果是LZ给出的代码,ButtonGroup是函数的参数,怎么会没定义呢,在声明函数的时候你就声明了ButtonGroup这个变量了,只不过这个变量类型是按你传进来的参数来决定的
      

  5.   

    ButtonGroup是个名字,name指定的,不是ButtonGroup有length,而是名字为ButtonGroup的空间有长度,length指的是控件的个数。
      

  6.   

    我把脚本改成下面的形式,你应该明白了吧?呵呵:
    <script language="javascript">
    //function GetSelectedButton(buttongroup){
    function GetSelectedButton(obj){
      for(var x=0;x<obj.length;x++){
        if(obj[x].checked)return x;
      }
      return 0;
    }
    function WhoIsSelected(o){
      var n=GetSelectedButton(o);
      var msg=n==0?'一个也没选哦...':'您选择的是第'+(n+1)+'项'+document.getElementsByName('ButtonGroup')[n].value;
      alert(msg);
      
    }
    </script>