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


Posted in Javascript onJune 22, 2015

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

构造函数方式:

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

内联执行方式:

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

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

我是这样理解的:

区别:

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

比较:

我认为内联的比较好;

优势:

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

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

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

Javascript 相关文章推荐
JS 文件大小判断的实现代码
Apr 07 Javascript
JavaScript 函数参数是传值(byVal)还是传址(byRef) 分享
Jul 02 Javascript
用jquery.sortElements实现table排序
May 04 Javascript
javascript判断是否按回车键并解决浏览器之间的差异
May 13 Javascript
了解Javascript的模块化开发
Mar 02 Javascript
javascript框架设计之框架分类及主要功能
Jun 23 Javascript
jquery左右全屏大尺寸多图滑动效果代码分享
Aug 28 Javascript
JS实现可关闭的对联广告效果代码
Sep 14 Javascript
javascript性能优化之DOM交互操作实例分析
Dec 12 Javascript
Angular 2.x学习教程之结构指令详解
May 25 Javascript
Javascript读取上传文件内容/类型/字节数
Apr 30 Javascript
JavaScript this在函数中的指向及实例详解
Oct 14 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
PHP+FLASH实现上传文件进度条相关文件 下载
2007/07/21 PHP
php 文件夹删除、php清除缓存程序
2009/08/25 PHP
php number_format() 函数通过千位分组来格式化数字的实现代码
2013/08/06 PHP
php通过smtp邮件验证登陆的方法
2016/05/11 PHP
php设计模式之单例模式代码
2016/06/11 PHP
PHP实现的常规正则验证helper公共类完整实例
2017/04/27 PHP
PHP按符号截取字符串的指定部分的实现方法
2018/09/10 PHP
javascript学习笔记(九)javascript中的原型(prototype)及原型链的继承方式
2011/04/12 Javascript
javascript中attribute和property的区别详解
2014/06/05 Javascript
JavaScript实现简单图片滚动附源码下载
2014/06/17 Javascript
JQuery.get提交页面不跳转的解决方法
2015/01/13 Javascript
Jquery使用css方法改变样式实例
2015/05/18 Javascript
巧用jQuery选择器提高写表单效率的方法
2016/08/19 Javascript
bootstrapValidator.min.js表单验证插件
2017/02/09 Javascript
web前端开发中常见的多列布局解决方案整理(一定要看)
2017/10/15 Javascript
jQuery实现的简单手风琴效果示例
2018/08/29 jQuery
vue点击按钮动态创建与删除组件功能
2019/12/29 Javascript
Vue+scss白天和夜间模式切换功能的实现方法
2021/01/05 Vue.js
[31:29]完美世界DOTA2联赛PWL S3 INK ICE vs Magma 第一场 12.20
2020/12/23 DOTA
Python正则表达式教程之二:捕获篇
2017/03/02 Python
Python OpenCV 直方图的计算与显示的方法示例
2018/02/08 Python
Python面向对象之反射/自省机制实例分析
2018/08/24 Python
kafka-python批量发送数据的实例
2018/12/27 Python
pytorch实现mnist数据集的图像可视化及保存
2020/01/14 Python
python interpolate插值实例
2020/07/06 Python
详解pycharm自动import所需的库的操作方法
2020/11/30 Python
巴西网上药店:Drogaria Araujo
2021/01/06 全球购物
Shell编程面试题
2012/05/30 面试题
大学生简历的个人自我评价
2013/12/04 职场文书
写给女生的道歉信
2014/01/08 职场文书
网管求职信
2014/03/03 职场文书
九华山导游词
2015/02/03 职场文书
python 实现mysql自动增删分区的方法
2021/04/01 Python
浅谈什么是SpringBoot异常处理自动配置的原理
2021/06/21 Java/Android
Python Pandas读取Excel日期数据的异常处理方法
2022/02/28 Python
Python Django / Flask如何使用Elasticsearch
2022/04/19 Python