第一个问题:去掉参数就可以,这个例子里没用到参数,你这种冒泡继承的做法,不用传递参数,this也代表本对象
第二个问题:this代表本对象,当然是checkbox了 ,不是属性
第三个问题:我也闹不清楚
第四个问题:return false期的作用,让刚才的操作取消了
第五个问题:你直接在函数里写return 返回值   就可以了
第六个问题:不明白

解决方案 »

  1.   

    第一个问题:参数没用的就可以去掉的
    第二个问题:this代表本对象, this.type="checkbox" this.name="like" this.value="本行对应的value值"这样lz明白了吧
    第三个问题:这个跟js就有关系了,如果onclick='return false'那么checkbox当前的操作就会失效,就是改变不了他的状态了
    第四个问题:return false期的作用,让刚才的操作取消了
    第五个问题:你直接在函数里写return 返回值  就可以了
    第六个问题:this本身就是指当前对象,既然是对象,那么做参数传递有什么问题吗?
      

  2.   

    第一个问题:的确多余。
    第二个问题:看javascript的版本的吧?还有与浏览器的版本解析引擎有关,最好是不传this,因为某种可能会认为this为checkDate这个对象本身,因为函数本来也是对象。最好是传id。
    第三个问题:这个可以有可以没有。
    第五个问题:
    function checkDate(checkboxName) 

    var checkCount = 0; 
    for(i=0;i <document.myForm.like.length;i++) 

    if (document.myForm.like[i].checked) 

    checkCount ++; 


    if (checkCount>3) 

    alert("最多只能选择三项"); 
    return false; 


    return false  false就是返回值了。你也可以return 0 或者 return '0' 等等第六个问题:javascript是个弱类型语言,可以把对象作为参数传递的,但是不建议用this。会引起混乱。顺便说句,楼主代码在其他浏览器运行不兼容哦。
      

  3.   

    晕,漏了第四个问题。第四个问题:onclick="return checkDate(this)"因为checkDate(this)这个函数return false,所以就是onclick="return false",那onclick这个操作就终止了。这就是你第三个问题的为什么有为什么没有了。按照语法是可有可无的,但是这个代码为了实现你第四个问题说的效果,就加上了。当然,如果直接onclick="checkDate(this)",那么你在判断超过了四个的时候,在返回false之前你必须得把第四个选中的checkbox.checked设置为false,让它还原。只是这个代码就方便点咯
    明白了不?
      

  4.   

    js里面this表示调用当前方法的Object
    这里其实是"inputObject".onclick=function(){}
    所以传checkDate(this),this指向"inputObject" 
      

  5.   

    对于 第六个问题是this确实是用在方法体中;
    如果
    <input type="checkbox" value="上网" name="like"/>上网===》"inputObject"上面 的东西其实等价于:"inputObject".onclick=function(){ 
        return checkDate(this)
    }this也只是在匿名函数体里面调用的。