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


Posted in Javascript onJune 22, 2015

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

构造函数方式:

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

内联执行方式:

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

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

我是这样理解的:

区别:

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

比较:

我认为内联的比较好;

优势:

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

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

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

Javascript 相关文章推荐
jquery 分页控件实现代码
Nov 30 Javascript
判断iframe是否加载完成的完美方法
Jan 07 Javascript
jquery动画2.元素坐标动画效果(创建一个图片走廊)
Aug 24 Javascript
使用AOP改善javascript代码
May 01 Javascript
javascript jquery对form元素的常见操作详解
Jun 12 Javascript
Vue.js tab实现选项卡切换
May 16 Javascript
浅谈VUE监听窗口变化事件的问题
Feb 24 Javascript
React组件重构之嵌套+继承及高阶组件详解
Jul 19 Javascript
JavaScript获取页面元素的常用方法详解
Sep 28 Javascript
vue获取data数据改变前后的值方法
Nov 07 Javascript
JavaScript中ES6规范中let和const的用法和区别
Aug 06 Javascript
JavaScript实现矩形块大小任意缩放
Aug 25 Javascript
javascript中使用new与不使用实例化对象的区别
Jun 22 #Javascript
浅谈javascript构造函数与实例化对象
Jun 22 #Javascript
jquery分析文本里url或邮件地址为真实链接的方法
Jun 20 #Javascript
jQuery实现文本框输入同步的方法
Jun 20 #Javascript
jQuery实现带滚动导航效果的全屏滚动相册实例
Jun 19 #Javascript
jquery实现的代替传统checkbox样式插件
Jun 19 #Javascript
JQuery实现的图文自动轮播效果插件
Jun 19 #Javascript
You might like
用Apache反向代理设置对外的WWW和文件服务器
2006/10/09 PHP
php代码中使用换行及(\n或\r\n和br)的应用
2013/02/02 PHP
php中利用str_pad函数生成数字递增形式的产品编号
2013/09/30 PHP
VB中的RasEnumConnections函数返回632错误解决方法
2014/07/29 PHP
PHP7新特性foreach 修改示例介绍
2016/08/26 PHP
PHP使用PDO创建MySQL数据库、表及插入多条数据操作示例
2019/05/30 PHP
PHP7创建销毁session的实例方法
2020/02/03 PHP
用Javascript实现UTF8编码转换成gb2312编码
2006/12/22 Javascript
JavaScript 面向对象之命名空间
2010/05/04 Javascript
jQuery动态添加的元素绑定事件处理函数代码
2011/08/02 Javascript
JS+CSS实现的蓝色table选项卡效果
2015/10/08 Javascript
JS基于Ajax实现的网页Loading效果代码
2015/10/27 Javascript
微信小程序 开发之快递查询功能的实现
2017/01/09 Javascript
jQuery Validate 无法验证 chosen-select元素的解决方法
2017/05/17 jQuery
vue2.0实现音乐/视频播放进度条组件
2018/06/06 Javascript
利用d3.js力导布局绘制资源拓扑图实例教程
2019/01/08 Javascript
vue实现百度下拉列表交互操作示例
2019/03/12 Javascript
Vue 使用计时器实现跑马灯效果的实例代码
2019/07/11 Javascript
vue使用showdown并实现代码区域高亮的示例代码
2019/10/17 Javascript
JavaScript实现PC端四格密码输入框功能
2020/02/19 Javascript
[03:04]DOTA2超级联赛专访ZSMJ “莫名其妙”的逆袭
2013/05/23 DOTA
python解析xml模块封装代码
2014/02/07 Python
Python入门及进阶笔记 Python 内置函数小结
2014/08/09 Python
在Python中使用mongoengine操作MongoDB教程
2015/04/24 Python
python实现对指定输入的字符串逆序输出的6种方法
2018/04/26 Python
使用Python快速打开一个百万行级别的超大Excel文件的方法
2021/03/02 Python
HTML5 客户端数据库简易使用:IndexedDB
2019/12/19 HTML / CSS
优秀员工个人的自我评价
2013/11/29 职场文书
个人党性剖析材料
2014/02/03 职场文书
渔夫的故事教学反思
2014/02/14 职场文书
农村葬礼主持词
2014/03/31 职场文书
秋冬农业生产标语
2014/10/09 职场文书
劳动争议和解协议书范本
2014/11/20 职场文书
招商银行收入证明
2015/06/17 职场文书
入党积极分子培养联系人意见
2015/08/12 职场文书
《最后一头战象》读后感:动物也有感情
2020/01/02 职场文书