javascript闭包函数问题

这里面的 var x有什么用的
var b =(function(){function x(){} return new x()}();
var x =(function(){function x(){} return new x()}();
为什么这两段代码格式运行起来结果不同。

这个是作用域的问题,不是闭包问题。里面的function x只有匿名函数访问到,返回了x的实例对象。和var x这个不一样

javascript运行机制浅析