w3ctech

chrome的console调试问题

在console调试里面,如果写上 var i = 2; 回车 再alert或者console.log(i);则 会输出 2 !!!(我感觉应该出错才对啊!!!) 这就出现一个问题,如果写上一个函数,调试,则后面的东西会调用前面已经存在的东西,有时就会出错。 所以为了防止出错。每进行一次调试(将sublimetext2的代码复制到console下),回车,再想下次调试的时候,只能刷新浏览器, 来杜绝这种错误了。求大神,!能不能有其他办法,让回车之后的console处的代码与前面的代码无关 (即用一次之后,不缓存)

w3ctech微信

扫码关注w3ctech微信公众号

共收到6条回复

  • 在控制台调试是在with里跑的,然后是在window域下执行的,所以你定的变量都能用,你可以控制台里随便打个不存在变量看下,如:

    with (typeof __commandLineAPI !== 'undefined' ? __commandLineAPI : { __proto__: null }) {
    w3ctech
    }
    

    so,with跟真实还是有差异的,那么控制台调试比console.time就呵呵了,建议使用原生的html代码里写东西调试,最好的还是编译器里调试,比如sublime可以直接按ctrl+b来执行控制台,你完全可以用nodejs来调试你的代码,比如:https://github.com/xuexb/sublime-config/blob/master/User/nodejs.sublime-build 把这个另存到你st包目录的Usernodejs.sublime-build,随便建立个.js文件按ctrl+b小试一把吧,ps:路径里别有中文

    相关链接:

    http://www.cnblogs.com/52cik/p/js-with.html

    http://www.cnblogs.com/52cik/p/sublime-runjs.html

    回复此楼
  • (function () {
       var i = 2;
    })();
    
    alert(i); // => error
    
    回复此楼
  • @huei90 感谢!

    回复此楼
  • @xuexb 感谢了!

    回复此楼
  • sublime可以扩充插件来实现js调试运行

    回复此楼
  • 学习学习

    回复此楼