最近在看《javascript权威指南》,忽然发现自己是如此的不懂javascript。javascript中居然有这么多的好玩的东西。比如说下面的代码:
var a=""; function testa () { console.log(a);//undifine var a=100; console.log(a);//100 }; testa();
我看到输出之后,身为java静态语言的开发者。看到这个代码多少有点蒙啊。按理说第一个输出怎么也应该是个空串,怎么可能是undefine呢。因为在javascript声明的变量在function testa作用域里是不起作用的。所以使用var是一个好习惯,这样可以发现很多隐藏的bug。特别是可以避免变量冲突。
还有一个就是在javascript中NaN变量的值不等于NaN。这个很让人揪心啊。我真是理解不了,不知道有没有哪个大神解释一下。请看代码:
var c=NaN; console.log(c==NaN);//false
刚刚看了这些,本人才疏学浅刚开始写blog,望大神们指点批评。