突然了解到全局变量是烧性能的 然后联想到了方法,但是js基础底子差,对一些奇奇怪怪的想法不敢下确定,求大神指点了。
/*------function one--------------*/ var a = 1; function aF(){ var b = a+1; return b; } function bF(){ var c = aF(); return c; } $(function(){ bF(); }); /*------function two--------------*/ $(function(){ var a = 1; function aF(){ var b = a+1; return b; } function bF(){ var c = aF(); return c; } bF(); }); /*------function three-----------*/ $(function(){ var a = 1; function bF(){ var c = aF(); function aF(){ var b = a+1; return b; } return c; } bF(); aF = null; });
求大神指点
第三种和第二种有什么区别
关键是最想知道的是性能方面
(其实我也不知道到底想知道什么,求区别把)
个人理解从占用内存的角度而言,第二种的性能比第三种更好一点点。因为第二种的两个函数都一直保存在内存中。而第三种里的aF在bF内部,bF执行完以后aF就会被销毁。因为bF外面没有变量引用aF。这里并不算是我们通常所说的闭包。
一周热门 更多>