日期:2014-05-16 浏览次数:20300 次
var first = 'hi there'; var first = (function() { console.log("first", first); // undefined var first = "hello world"; })(); //相当于 var first = 'hi there'; var first = (function() { var first;//the variable declaration moved to the top console.log("first", first); // undefined var first = "hello world"; })(); // second test case var second = 'hi there'; var second = (function() { console.log("second", second ); // "hi there" // here, we DO NOT declare a local "second" variable })(); // in the second test case, we don't declare the local variable, so the console.log call refers to the global variable and the value is not "undefined" //link:http://jsfiddle.net/pomeh/ynqBs/