u012301654 2015-04-25 01:37 采纳率: 50%
浏览 1779
已采纳

请问下面这句话中的单引号有什么作用

 var repeat= "moveElement('"+elementID+"',"+final_x+","+final_y+","+interval+")";
 movement=setTimeout(repeat,interval);

  • 写回答

2条回答 默认 最新

  • 斯洛文尼亚旅游 2015-04-25 01:48
    关注

    将你的elementID的值作为字符串参数传递。否则就是传递elementID的值的变量或者对象

    如elementID="mydiv",加不加引号就变成

    moveElement('mydiv',x,y,interval)和moveElement(mydiv,x,y,interval),不加的话mydiv变量必须是window作用域下变量或者dom中存在id为mydiv的控件,否则你再次引用到这个变量就会报错,而且如果你的moveElement是通过document.getElementById获取控件的话,不加时mydiv为控件就会报错。如果存在window作用域下的字符串变量才不会报错

    setTimeout第一个参数最好不要传递字符串值,效率低下,而且你串接成字符串也麻烦,包含单双引号还得注意转义。改成下面的就行。之前回过这个问题。。楼主还没搞清楚

     // var repeat= "moveElement('"+elementID+"',"+final_x+","+final_y+","+interval+")";
    
     movement=setTimeout(function(){
    
     moveElement(elementID,final_x,final_y,interval);
    
     },interval);
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?