初学JS`看到一个源码:<script>
function fadeIn(oObj, tDur)
{
if (tDur == 0)
{
oObj.style.visibility="visible";
}
else
{
    oObj.style.filter="revealTrans(DURATION=" + tDur + ", TRANSITION=1)";
    if (oObj.filters.revealTrans.status != 2)
    {
     oObj.style.visibility="hidden";
        oObj.filters.revealTrans.apply();
        oObj.style.visibility="visible";
        oObj.filters.revealTrans.play();
    }
}
}
</script>
<body id=demo2 onload="fadeIn(demo2,1)"><div style="width:300;height:300;background-color:lightgreen">
    <CENTER style="background-color=red; height=100; width:100;
            position:relative; top:100">
    </CENTER>
</div>
</body>其实源码的意思我都懂,只是不懂这个DURATION=" + tDur + "为什么要在tDur前后加两个加号啊`?    

解决方案 »

  1.   

    DURATION=" + tDur + "证明tDur是按变量运算。tDur是传进来的。如果传进来的是3那么
    DURATION=" + tDur + "就相当于
    DURATION=3
      

  2.   


     那这个位置为什么不能直接用tDur呢?
      

  3.   

    DURATION="3",就像这样,3 是要传的值,所以会DURATION=" + tDur + "这样写 
      

  4.   

    http://topic.csdn.net/u/20100627/12/3d7c2854-4cb7-42b2-99af-5d26b3649062.html?71602帮忙看看这个帖子哦
      

  5.   

    你可以把这里的+号理解为将变量强制转换为数字格式。javascript中的变量所弱类型的,只有在用到的时候才去看是什么类型的。
    你可以看下这个里面提到的http://blog.csdn.net/oxcow/archive/2010/04/07/5458650.aspx
      

  6.   

    你这是误导lz
    就是一个简单的字符串而已:
    var s="revealTrans(DURATION=" + tDur + ", TRANSITION=1)";
    var s1="revealTrans(DURATION="是一个字符串
    var s2=", TRANSITION=1)"又是一个字符串
    var s3=tDur;也可以是一个字符串,这里是个参数而已.
    完了上面的也可以这么写: s=s1+s3+s2;字符串拼接是编程中最基础最常见的,还在这里瞎讨论什么.