JS变量提前声明

编程语言中变量都是先声明后使用,在某些强制类型的语言中更加明显。不过在JavaScript中竟然突破了这种限制,变量在声明之前可以访问到值,当然并不是正确的值。这种变量声明的顺序令人感到费解,一般会和JS的引擎有很大关系。当然,为了避免不必要的麻烦,实际的开发中还是安份点好。例如:

alert(name);
var name = 'javascript';

在不同的浏览器中返回不同的结果。具体产生这样结果的原因是什么,当然可以在JS引擎中找到原因。这个寻找答案的过程是漫长的,除非真正潜心研究JS。在这里只能留下一些结果,在这结果之上的研究需要时日。

Chrome Safari 
页面第一次载入返回空字符串,刷新返回javascript

Firefox
每次载入都返回空字符串

Opera IE
每次载入返回undefined

现在还没有评论

留下您的大名