与多个变量连接的字符串未在 setTimeout() 中执行

String joined with multiple variables are not executing in setTimeout()

与单个变量连接的字符串在 setTimeout() 函数中正确执行

setTimeout("document.getElementById('err_box').innerHTML = "+selected_troops.length, 1000);

但是当我在同一个字符串中连接多个变量时。它没有执行。

setTimeout("document.getElementById('err_box').innerHTML = "+selected_troops.length+" Men "+varues, 1000);

这也没有执行("string"+variable+"string")

setTimeout("document.getElementById('err_box').innerHTML = "+selected_troops.length+" Men", 1000);

将函数传递给 setTimeout(),而不是字符串:

setTimeout(function() {
  document.getElementById('err_box').innerHTML = 
    selected_troops.length+" Men";
}, 1000);

您的代码无法正常工作,因为您没有考虑到字符串常量需要 "double quoted" 才能正常工作这一事实。然而,这确实不是正确的方法;避免将 JavaScript 代码放入 JavaScript 字符串要容易得多。

理想情况下你应该这样做,

setTimeout(function(){
     document.getElementById('err_box').innerHTML = selected_troops.length+" Men "+varues;
}, 1000);