js,以下代码好像不加那条if判断语句也没啥影响?


<html>
<head>
    <meta charset="utf-8" />
    <title></title>
    <script>
        window.onload = function () 
        {
            var oFruit = document.getElementsByName("fruit");
            var oP = document.getElementById("content");
            for (var i = 0; i < oFruit.length; i++) 
            {
                oFruit[i].onchange = function () 
                {
                    if (this.checked)                 //这条判断语句
                    {
                        oP.innerHTML = "你选择的是:" + this.value;
                    }
                };
            }
        }
    </script>
</head>
<body>
    <div>
        <label><input type="radio" name="fruit" value="苹果" />苹果</label>
        <label><input type="radio" name="fruit" value="香蕉" />香蕉</label>
        <label><input type="radio" name="fruit" value="西瓜" />西瓜</label>
    </div>
    <p id="content"></p>
</body>
</html>

当触发onchange事件,不久意味着被选中了吗?为啥还要加上 if (this.checked)

onchange :改变后触发;
this.checked:点击选中就触发;

场景一:我一直点击苹果,onchange 只有第一次才会触发,其他重复点击不会触发;而this.checked只要点击就触发

确实是这样的。去掉也不影响。radio只有一个能选中。