chrome控制台输入以下代码:
  var c;
  c;   
  5;为什么会输出5呢,在代码前我先用clear() 将控制台清空了的百思不得其解呢 有什么玄机么???
求教希望路过的伙伴们

解决方案 »

  1.   

    前面赋值过了呗。你再var c ,也只是声明有这个变量,没有进行赋值,所以c他还是5啊。
      

  2.   

    clear()没用,刷新试试
      

  3.   


    我确认我今天没有赋值哈 而且我刚才重新开机了打开chrome 又输了这几行代码 结果依然如此  这个原因应该不对
      

  4.   

    可能window上有c这个属性,你可以用输入window.c试试。还有不要用var声明变量,用let试试可能就会报错
      

  5.   

    我window.c是255,你的可能就是5,js有一些莫名其妙的事情,但是可能都是你对他不了解
      

  6.   

    let c; 没有报错哟  而且 var c ; 声明过后就相当于是window.c    这没有办法判断是window里自带了c这个变量  
      

  7.   

    。。你js基础不好吧, let/var c不会把c附到window上,但是直接用c="asd"会附上,还有var尽量不要用
      

  8.   

    你刷新试一下a="test",然后输入window,可以展开看window.a属性
      

  9.   


    试了哈 的确 为什么非空白页结果不正常呢 能说说原因么 
    不同的页面window值不同
      

  10.   

    自己写一个网页:
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <script>
        var a=1;
    </script>
    </body>
    </html>
    然后运行,再在控制台打a,就是1了,和你当前的页面有关,当前页面的js对你的c有定义。