在 DOM 編程中動態構建 setTimeout 字符串參數:
var repeat = "moveElement('" + elementID + "'," + final_x + "," + final_y + "," + interval + ")";
疑問:為什麼 elementID 要用單引號包裹?若寫成 "moveElement(" + elementID + ",..." 會有什麼後果?
JavaScript 引擎最終執行的是拼接後的字符串代碼。假設 elementID = 'box1':
moveElement('box1',100,200,50) —— 參數被識別為字符串。moveElement(box1,100,200,50) —— box1 被當作變量名,若未定義則報錯。setTimeout(function(){ moveElement(elementID, final_x, final_y); }, interval); 避免拼接錯誤並提升可讀性。