标签:
之前和一个同事做一个项目的时候遇到了一个变量提升的问题,明明已经定义了但是会弹出undefined.后来查了一下,因为是变量提升的原因才导致的。
var V="Hello World"; (function(){ alert(V); var V="111" })()这个时候你会弹出一个undefined,按照我们本来的思路应该是弹出一个Hello World或者111,和undefined是完成不沾边的。
当我们把函数改成这个样子的时候
var V="Hello World"; (function(){ var V="111" alert(V); })()
var V="Hello World"; (function(){ var V; alert(V); V="111" })()
所以以后我们以后定义变量以及值最好是定义在作用域的顶端。这样会避免一些不必要的错误。
标签:
原文地址:http://blog.csdn.net/u011551941/article/details/45095119