日期:2014-05-16  浏览次数:20399 次

【答疑解惑】JavaScript带参递归调用的符号问题

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

疑问一:final_x,final_y这些都是函数的变量,为什么要包在一对+号里?这对+号是什么意思啊?
疑问二:'"+elementID+"',包了一对单引号后又包了一对双引号?实在摸不着头脑~;

?

【解答】

var repeat = moveElement('+elementID+',+final_x+,+final_y+,+interval+);//注意引号的作用范围
疑问一回答:java中 + 是用来连接两个不同的字符串来获得一个新的字符串,新字符串是原来两个字符串拼接而成。例如:
?? String s1 = "Hello,";
?? String s2 = "world!";
?? String s3 = s1 + s2;
?? 则s3的值为:"Hello,world!"。例子中的 + 就是要把final_x、final_y等这些连成一个新的字符串。
疑问二回答:'"+elementID+"' 中的引号是 中间为一对双引号,外面套了一对单引号。之所以这么做是因为java中 "" 不能嵌套。那句话的本意是要使repeat = moveElement('elementID',final_x,final_y,interval)? 其中final_x、final_y、interval要替换为函数中所代表的值,而elementID不变。例如:若final_x = 123,fianl_y = 456,interval = 789,则repeat = moveElement(elementID,123,456,789)。