首页 > 代码库 > javascript变量声明提升(hoisting)

javascript变量声明提升(hoisting)

刚开始使用js的时候,感觉这语言好简单。使用起来非常快。但是当我问自己,js的精华,特性在哪里,只是不需要定义类型,

不需要自己管理内存嘛。刚开始对js的理解仅限于此。

一直理解的是,JS是一个解释性语言,代码一行行解析下去,忽然有时候发现一个写法,让我对此产生了怀疑,在百度之后终于

知道了为什么。在这里我简要记录下。

count(1,2);function count(a,b){    console.log(a + b);  }

结果是正常的。

var test = "aaa";function func(){  console.log(test);  var test = "bbb";    }

结果是undifined

js变量声明提升机制的妙处。这篇文章写得很清楚了。

http://openwares.net/js/javascript_declaration_hoisting.html

 

javascript变量声明提升(hoisting)