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


Posted in Javascript onJune 22, 2015

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

构造函数方式:

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

内联执行方式:

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

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

我是这样理解的:

区别:

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

比较:

我认为内联的比较好;

优势:

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

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

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

Javascript 相关文章推荐
如何实现JS函数的重载
Sep 22 Javascript
初窥JQuery-Jquery简介 入门了解篇
Nov 25 Javascript
浅析Prototype的模板类 Template
Dec 07 Javascript
js如何获取兄弟、父类等节点
Jan 06 Javascript
Lab.js初次使用笔记
Feb 28 Javascript
jQuery实现鼠标经过购物车出现下拉框代码(推荐)
Jul 21 Javascript
一个例子轻松学会Vue.js
Jan 02 Javascript
基于node.js的fs核心模块读写文件操作(实例讲解)
Sep 10 Javascript
weebox弹出窗口不居中显示的解决方法
Nov 27 Javascript
Vue组件之极简的地址选择器的实现
May 31 Javascript
详解几十行代码实现一个vue的状态管理
Jan 28 Javascript
亲自动手实现vue日历控件
Jun 26 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
如何使用jQuery+PHP+MySQL来实现一个在线测试项目
2015/04/26 PHP
php随机获取金山词霸每日一句的方法
2015/07/09 PHP
PHP实现XML与数据格式进行转换类实例
2015/07/29 PHP
PHP编程实现的TCP服务端和客户端功能示例
2018/04/13 PHP
jquery.alert 弹出式复选框实现代码
2009/06/15 Javascript
用JavaScript仿PS里的羽化效果代码
2011/12/20 Javascript
{}与function(){}选用空对象{}来存放keyValue
2012/05/23 Javascript
用js传递value默认值的示例代码
2014/09/11 Javascript
JavaScript图像延迟加载库Echo.js
2016/04/05 Javascript
jQuery Chart图表制作组件Highcharts用法详解
2016/06/01 Javascript
详解vue-router 2.0 常用基础知识点之router.push()
2017/05/10 Javascript
webpack v4 从dev到prd的方法
2018/04/02 Javascript
详解Vue webapp项目通过HBulider打包原生APP
2018/06/29 Javascript
解决JavaScript layui 下拉框不显示的问题
2018/08/14 Javascript
JS打印彩色菱形的实例代码
2018/08/15 Javascript
详解vue中$nextTick和$forceUpdate的用法
2019/12/11 Javascript
ES6函数实现排它两种写法解析
2020/05/13 Javascript
代码块高亮可复制显示js插件highlight.js+clipboard.js整合
2021/02/15 Javascript
python实现数通设备端口监控示例
2014/04/02 Python
Python实现的矩阵类实例
2017/08/22 Python
在windows下Python打印彩色字体的方法
2018/05/15 Python
Python设置在shell脚本中自动补全功能的方法
2018/06/25 Python
使用memory_profiler监测python代码运行时内存消耗方法
2018/12/03 Python
Python基于百度云文字识别API
2018/12/13 Python
Python实现图像去噪方式(中值去噪和均值去噪)
2019/12/18 Python
利用python3 的pygame模块实现塔防游戏
2019/12/30 Python
Python面向对象中类(class)的简单理解与用法分析
2020/02/21 Python
python实现画图工具
2020/08/27 Python
纯css实现照片墙3D效果的示例代码
2017/11/13 HTML / CSS
美国钻石商店:Zales
2016/11/20 全球购物
汽车驾驶求职信
2013/10/25 职场文书
商务英语应届生自我鉴定
2013/12/08 职场文书
爽歪歪广告词
2014/03/20 职场文书
2014年宣传部个人工作总结
2014/12/06 职场文书
2015年实习生工作总结报告
2015/04/28 职场文书
解决persistence.xml配置文件修改存放路径的问题
2022/02/24 Java/Android