通常JavaScript创建闭包比较常用的有两种方式。
构造函数方式:
new function() { var 变量... }
内联执行方式:
(function() { var 变量... })();
在JavaScript内部运行机制下他们有什么区别?用哪种方式创建比较好?它与其它方式创建的闭包相比有什么优势?
我是这样理解的:
区别:
第一个:子方法可以共享变量
第二个:内部子方法共享变量
比较:
我认为内联的比较好;
优势:
一般内联的创建是按需索要内存,因为只是局部执行的变量在内存里,可以将相关的和具有依赖性的代码组织起来,以便将意外交互的风险降到最低,构造那个所有的方法执行变量都要保存在内存里,这样会影响网页的性能,建议退出前删除变量
当然这只是我的个人理解,其实一般都用闭包需要特别主要在IE内核浏览器下产生内存泄漏,最好是变量使用完就干掉。
以上所述就是本文的全部内容了,希望大家能够喜欢
新闻热点
疑难解答