今天在用js的时候,使用了两段完全相同的代码,可是一个报错,一个好好的
代码如下:
<script type="text/javascript">
console.log("a");
</script>
<script type="text/javascript">
console.log("a");
</script>
注意,这两段代码一模一样(眼睛看起来是的),但是运行结果却是:
你们在运行时,要复制我的代码,不要自己敲,就能出现上面的结果。
这个问题困扰了我好几个小时,我在想,到底是什么原因呢?
为了解决这个问题,我将两段代码各种换来换去,发现下面的和上面的肯定不一样。
于是,我用FireFox调试,发现了一个很惊讶的结果:
首先结果一样:一个出错,一个正确
我通过火狐浏览器进入文件,下面就是神奇的时刻,
很显然,得出一个结论:两个console.log("a");前面的空格不一样。
通过其他前辈的帮助,我了解了,是因为两个空格,一个是在半角输入法下的,一个是在全角输入法下的。
在全角输入法下,空格是占空间的,不是真正意义的空格,它嵌套进编程中,无法编译就报错了。
这会导致,明明看起来是相同的代码,却因为看不见的空格导致运行不一样。