JS - 一种在迭代而不是引用中获取变量值的方法?

时间:2017-11-04 05:50:43

标签: javascript

我遇到了一个有趣的情况,我想知道一个非常简单的修复方法(换句话说,经验丰富的开发人员将如何处理这个问题)。

for(i = Math.min(storedAry.length,3)-1; i >=0; i--){
  var currentElementName = storedAry[i][1];
  var currentElementID = storedAry[i][0];
  var window_location = `BusTracking.html?id=${currentElementID}&name=${currentElementName}`;
  document.getElementById('recents').innerHTML+=`<button type="button" class="btn btn-success" style='margin-bottom:20px;' onclick="window.location = window_location">${currentElementName}</button><br/>`;

}

我正在迭代一个数组并设置按钮以在单击时重定向到相应的URL。但是,上面的脚本会设置window.location = window_location,这是在用户点击按钮时进行评估的,因此无论点击什么按钮,都会将用户带到window_location'的页面点击时的值(这里是循环的最后一次迭代)。

我想知道每次for循环运行时我如何强制评估这个变量。一个可能的解决方案可能是在访问window_location时访问数组,但我觉得应该有类似“PHP”的方法来执行此操作。

1 个答案:

答案 0 :(得分:1)

您只需将变量的值替换为模板字符串即可。

header2.cpp