dom对象的getElementByName()函数可以将相同名字的对象都放到一个集合中返回,
通过操作这个集合中元素(也是dom对象)的checked属性来实现全选等功能

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>js测试</title>

    <script >

        //全选
        var hobbies = document.getElementsByName("hobby");
        function onclick1() {
            for(var i=0;i<hobbies.length;i++)
                hobbies[i].checked=true;
        }
        //全不选
        function onclick2() {
            for(var i=0;i<hobbies.length;i++)
                hobbies[i].checked = false;
        }
        function onclick3() {
            for(var i=0;i<hobbies.length;i++)
                hobbies[i].checked = !hobbies[i].checked;
        }
    </script>

</head>
<body>

  <!--复选框全选,全不选,反选-->
  爱好:<input type="checkbox" name="hobby" value="c"/>c
  <input type="checkbox" name="hobby" value="c++"/>c++
  <input type="checkbox" name="hobby" value="java"/>java
  <br>
  <button onclick="onclick1()">全选</button>
  <button onclick="onclick2()">全不选</button>
  <button onclick="onclick3()">反选</button>
</body>
</html>