87,996
社区成员




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);
if(xpos==final_x && ypos==final_y)
{
return true;
}
if(xpos < final_x )
{
xpos++;
}
if(xpos > final_x )
{
xpos--;
}
if(ypos < final_y )
{
ypos++;
}
if(ypos > final_y )
{
ypos--;
}
elem.style.left=xpos+'px';
elem.style.top=ypos+'px';
var repeat="moveElement('"+elementId+"',"+final_x+","+final_y+","+interval+")";
movement=setTimeout(repeat,interval);
}
function positionMessage()
{
//初始化位置
var elem=document.getElementById("message");
elem.style.position="absolute";
elem.style.left="50px";
elem.style.top="50px";
moveElement("message",200,100,100);
}
var num =10;
var repeat = "num";
console.log(typeof repeat); // console string;
//ok,问题来了,想要在字符串里打印出num的值怎么办?
var repeat = ""+num+"";
console.log(repeat) //"10" "string";
最后的部分是作为代码执行
我们在控制台使用eval
typeof eval(repeat) //10 "number"
//ok, 这个能正常的作为数值运行
接下来还有就是原题中的第一个参数 作为字符串的参数
也就是说只要再加一个'' 就能普通的字符串解析运行了
var mess = "message";
var repeat = "'"+mess+"'";
typeof eval(repeat) // "string" "message"值能正常在代码中解析出来.
想要把一个字符串在JavaScript环境中解析其中的变量 例如"number"类型的
使用 ""+variable+"";
"string" 类型的:使用 "'"+variable+"'";
(以上所谓的字符串均默认加了参数本身的字符串)
"moveElement('" //这是第1个字符串
+
elementId
+
"'," //这是第2个字符串
+
final_x
+
"," //这是第2个字符串
+
final_y
+
"," //这是第3个字符串
+
interval
+
")" //这是第2个字符串
repeat="moveElement('"+elementId+"',"+final_x+","+final_y+","+interval+")";
看上面,蓝色部分才是字符串,elementId 和 final_x 都在字符串外面