https://blog.csdn.net/mevicky/article/details/49813289

    也就是说,let只能在花括号内部起作用

    var则是函数作用域即在函数中都起作用,也要注意var存在的变量提升问题

    这样是没什么问题的,因为回调函数中可以访问到变量t,但是如果我们在回调函数中再次命名了变量t呢?

    1. function runTowerExperiment(tower, startTime) {
    2. var t = startTime;
    3. tower.on("tick", function () {
    4. ... code that uses t ...
    5. if (bowlingBall.altitude() <= 0) {
    6. var t = readTachymeter();
    7. ...
    8. }
    9. });
    10. ... more code ...
    11. }

    后者将会被覆盖