V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ai277014717
V2EX  ›  Node.js

使用 let 虽然不会变量提升,但是发现 debug 的时候还是“提升”了影响调试怎么办?

  •  
  •   ai277014717 · 2018-05-22 10:32:19 +08:00 · 4176 次点击
    这是一个创建于 2138 天前的主题,其中的信息可能已经有所发展或是发生改变。
    for ( let i=0;i<100;i++){...}
    for ( let i=0;i<100;i++){...}
    for ( let i=0;i<100;i++){...}
    我在第三 for 调试的时候发现第三个 i 打印出来的值明显不正确。应该打印出来的是前两个循环中的 i。
    遇到这种情况很影响调试,又不想每次都起一个名字怎么办?
    第 1 条附言  ·  2018-05-22 12:48:45 +08:00

    img img

    10 条回复    2018-05-22 19:20:06 +08:00
    momocraft
        1
    momocraft  
       2018-05-22 10:55:15 +08:00
    为什么 "应该打印出来的是前两个循环中的 i" ?
    bucky
        2
    bucky  
       2018-05-22 11:06:07 +08:00
    你测试环境的问题吧
    will0404
        3
    will0404  
       2018-05-22 11:46:12 +08:00
    哪里提升了?

    为什么应该打印前两个 for 的 i?

    这几个 i 本来就应该互不影响啊,你不需要每次都起名啊。

    基础没学好吧。
    Luckyray
        4
    Luckyray  
       2018-05-22 12:02:24 +08:00 via iPhone
    不可能相互影响到啊,你是不是哪里写错了?
    otakustay
        5
    otakustay  
       2018-05-22 12:42:26 +08:00
    你倒是把代码给全再告诉我们你看到了什么输出啊
    ai277014717
        6
    ai277014717  
    OP
       2018-05-22 12:42:30 +08:00
    @momocraft
    @bucky
    @will0404
    @Luckyray

    程序执行出来是正确的,是在控制台打印出来的 i 不正确。
    debug 时候可以看到 watch 中有三个 i 变量。控制台直接输入 i 的话,可能识别成其中了一个了。
    另外我用了 babel-node,env,state-0 不知道有没有影响。我是觉得至少在控制台中不应该看到 3 个 i,这样 debug 就不知道我要查看的 i 是哪一个了。
    ai277014717
        7
    ai277014717  
    OP
       2018-05-22 12:50:56 +08:00
    @momocraft
    @bucky
    @will0404 实际运行没有影响 影响的是调试。
    @Luckyray 只在 debug 打印的时候有影响。
    @otakustay
    @all 补图了。
    hoosin
        8
    hoosin  
       2018-05-22 13:18:47 +08:00
    吃了没有文化的亏
    ai277014717
        9
    ai277014717  
    OP
       2018-05-22 13:45:38 +08:00
    @hoosin 能详细说一些了吗?
    marcong95
        10
    marcong95  
       2018-05-22 19:20:06 +08:00
    我觉得 babel 编译后的代码的确是会有影响调试的情况的,例如编译后的 arrow function 里面各种_this2
    至于 console.log 的问题我好像很久之前也遇到过的样子
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5397 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 09:00 · PVG 17:00 · LAX 02:00 · JFK 05:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.