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

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

将你的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);

就是在拼字符串,单引号是将elementID转化为字符串,因为已经被“扩住了

 var repeat= "moveElement('"+elementID+"',"+final_x+","+final_y+","+interval+")";
 // 假设elementID=0,final_x=1,final_y=2,interval=3;
  var repeat="moveElement('0',1,2,3)";