大侠且先看如下代码:
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指的是控件的个数。