循环体中的第三个参数:i++,对于LotusScript开发人员来说是一个低级错误。这是在JavaScript中的简写方式,i++的值和i=i+1的值是一样的。实际上,你可以在循环中用两种形式的任何一种,所以下面这种写法和上面的写法是等价的:
for(i = 0; i < doc.RadioButtn.length; i = i + 1){
}
i=i+1同样可以正常运行,但是问题是没有人那么做,因为你习惯i++后,它更短小、更简单。它的价值在于,你还可以写i--,和i=i-1是一样的,当然,在这个循环里它不能运行。用i++你还可以做许多看起来很有趣的事情,但那是以后的事了。
再来看循环:三个参数用分号分隔并由圆括号包围,循环体代码用花括号包围,循环体中是一个if语句:
if(doc.RadioButtn.checked){
}
这里的判断真假的语句同样也用圆括号包围。试验中的doc.RadioButtn.checked看起来没有提供充足的信息,但它和循环一起构成了一个JavaScript的简写方式。如果用LotusScript的方式呢?我首先会去检查当前的RadioButton元素是不是等于checked,像下面的方式:
doc.RadioButton[0] = "checked"
由于checked是一个属性而不是一个值,所以上面的代码不能正确运行。你还会注意到在HTML中它并没有用引号引起来。其实,checked是一种"是"或者"不是"的东西。更准确一点说,它不是真就是假,所以那个if语句的意思就是:如果RadioButtn的这个元素是checked(被选中的),即:为真,那么就做下面的事情……这里的试验看起来有点奇怪,因为始终没有提到真假。如果那让你感到不舒服,你还可以很轻松地这样写if语句:
if(doc.RadioButtn.checked == true){
}
注意这里的true全部是小写而且有两个等号。和LotusScript中不同,JavaScript里的等号(=)只是用来把一个值赋给另一个什么东西:
var doc = document.forms[0];
为了比较两个项目是否相等,你必须使用两个等号。在我的头脑里,我想它的意思是:doc.RadioButtn.checked等于true,这样来帮我记住要用两个等号。双符号标记同样适用于&符号(使用一个时用来追加或连接字符;使用两个时表示“and”,比如在一个if语句里用两个判断条件时)。
最后,在if语句里是一个alert语句,紧跟着一个break。break就是JavaScript里的Exit For。它终止循环,因为一个单选按钮只能有一个选项被选中。
如果你把所有的代码都放入按钮里,你就会看到无论你选择单选按钮的哪个选项,单击按钮后都能正确的显示出选项的值。非常棒,现在你对JavaScript已经入门了。










