代码如下:
<html>
<head>
<script type="text/javascript">
function checkAll(){
var hobbies=document.getElementsByName("hobby");
for(var i=0;i<3;i++){
hobbies[i].checked=true;
}
}
function checkNo(){
var hobbies=document.getElementsByName("hobby");
for(var i=0;i<3;i++){
hobbies[i].checked=false;
}
}
function checkRe(){
var hobbies=document.getElementsByName("hobby");
for(var i=0;i<3;i++){
if(hobbies[i].checked){
hobbies[i].checked=false;
}else{
hobbies[i].checked=true;
}
}
}
</script>
</head>
<body>
<input type="checkbox" name="hobby" value="java"/>java
<input type="checkbox" name="hobby" value="c"/>c
<input type="checkbox" name="hobby" value="js"/>js
<button οnclick="checkAll()">全选</button>
<button οnclick="checkNo()">全不选</button>
<button οnclick="checkRe()">反选</button>
</body>
</html>
遇到的问题:使用for循环遍历时,执行时循环体不执行。最后才发现是i没有赋初值。
js中的变量是弱类型,即类型可变。赋的值就确定了变量的类型。未赋初始值的变量为undefined。