我一直有一个地方不是很理解,这次看到一段代码很能说明问题:
function moveElement (elementID, final_x, final_y, interval) {
var elem = document.getElementById(elementID);
var xpos = parseInt(elem.style.left);
var ypos = parseInt(elem.style.top);
......
var repeat = "moveElement('"+ elementID +"',"+ final_x +","+ final_y +","+ interval +")";
movement = setTimeout(repeat, interval)
}
我的疑问只有一个地方:
var repeat = "moveElement('"+ elementID +"',"+ final_x +","+ final_y +","+ interval +")";
在这一段里,elementID
,final_x
,final_y
,interval
四个是传入的参数,除了第一个是字符串,后面三个都是数字。
我第一个不能理解的地方是这些参数为什么要加**引号**,第二个不能理解的是这里的**加号**有什么作用么。还有一个问题是像elementID
这个字符串,为什么包了两层引号,在什么情况下需要这么做?
加号一般我认为适用于字符串拼接,但在这里显然不是这样,一对引号就是一个独立的空间,加号包裹在这里面有什么意义么。