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

关于ButtonGroup的一个问题
大侠且先看如下代码:
function GetSelectedButton(ButtonGroup)
{
  for(var x=0;x<ButtonGroup.length;x++)
  if(ButtonGroup[x].checked)return x
  return0
}


这是制作网页测试表时使用的一段代码。

问题如下:
  这段代码里面的ButtonGroup是JavaScript里面的一个内置数组吗?如果不是,那它是怎样起作用的(它在前面并没有被创建,而是直接拿出来的)?

本人学习JavaScript才一个星期左右,问题弱智还望大侠海涵。

------解决方案--------------------
HTML code
<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;

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