JavaScript创建闭包的两种方式的优劣与区别分析

时间:2021-05-26

通常JavaScript创建闭包比较常用的有两种方式。

构造函数方式:

new function() { var 变量... }

内联执行方式:

(function() { var 变量... })();

在JavaScript内部运行机制下他们有什么区别?用哪种方式创建比较好?它与其它方式创建的闭包相比有什么优势?

我是这样理解的:

区别:

第一个:子方法可以共享变量
第二个:内部子方法共享变量

比较:

我认为内联的比较好;

优势:

一般内联的创建是按需索要内存,因为只是局部执行的变量在内存里,可以将相关的和具有依赖性的代码组织起来,以便将意外交互的风险降到最低,构造那个所有的方法执行变量都要保存在内存里,这样会影响网页的性能,建议退出前删除变量

当然这只是我的个人理解,其实一般都用闭包需要特别主要在IE内核浏览器下产生内存泄漏,最好是变量使用完就干掉。

以上所述就是本文的全部内容了,希望大家能够喜欢

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章