zoukankan      html  css  js  c++  java
  • js:不是空字符串的空字符串引起的bug

    今天在用js的时候,使用了两段完全相同的代码,可是一个报错,一个好好的

    代码如下:

    <script type="text/javascript">
        console.log("a");
    </script>
    <script type="text/javascript">
      console.log("a");
    </script>

    注意,这两段代码一模一样(眼睛看起来是的),但是运行结果却是:

    你们在运行时,要复制我的代码,不要自己敲,就能出现上面的结果。

    这个问题困扰了我好几个小时,我在想,到底是什么原因呢?

    为了解决这个问题,我将两段代码各种换来换去,发现下面的和上面的肯定不一样。

    于是,我用FireFox调试,发现了一个很惊讶的结果:

    首先结果一样:一个出错,一个正确

    我通过火狐浏览器进入文件,下面就是神奇的时刻,

    很显然,得出一个结论:两个console.log("a");前面的空格不一样。

    通过其他前辈的帮助,我了解了,是因为两个空格,一个是在半角输入法下的,一个是在全角输入法下的。

    在全角输入法下,空格是占空间的,不是真正意义的空格,它嵌套进编程中,无法编译就报错了。

    这会导致,明明看起来是相同的代码,却因为看不见的空格导致运行不一样。

  • 相关阅读:
    状态模式
    适配器模式
    观察者模式
    浮点数在内存中的存储方式
    建造者模式
    外观模式
    模版方法模式
    原型模式
    Python 学习笔记6 变量-元组
    Python 学习笔记5 变量-列表
  • 原文地址:https://www.cnblogs.com/zdhblog/p/6867558.html
Copyright © 2011-2022 走看看