当前位置: 首页 > news >正文

做网站seo的步骤/灰色seo推广

做网站seo的步骤,灰色seo推广,如何将自己做的网页做成网站,山西住房和城乡建设委员会网站《高级程序设计》上,这样说:当函数内部定义了其他函数的时候,就创建了闭包。闭包有权访问包含函数内部的所有变量。 简单说一下我的理解: 由于普通的函数执行之后,资源就会被回收、内存释放,如果需要保留其…

《高级程序设计》上,这样说:当函数内部定义了其他函数的时候,就创建了闭包。闭包有权访问包含函数内部的所有变量。

简单说一下我的理解:

由于普通的函数执行之后,资源就会被回收、内存释放,如果需要保留其内部的变量,那么我们需要建立函数的闭包。

function a(){var i = 0;function b(){alert(i++);}      return b;
}var test = a();
test();

上面例子中,当函数a执行完并返回后,闭包使得JavaScript垃圾回收机制不会回收a所占用的资源,因为a的内部函数b的执行需要依赖a中的变量。

由于闭包的存在使得函数a返回后,a中的变量i始终存在,这样每次执行test(),都会弹出自加1之后的i。

另外闭包也可以实现封装,在person之外无法访问其内部的变量,而通过提供闭包的形式来访问,例子如下

var person = function(){var name = "默认";return{"setName":function(newName){name = newName;},"getName":function(){return name;}}
}();console.log(person.getName());
person.setName("李四");
console.log(person.getName());

闭包的另外一个重要用途是实现面向对象中的对象,传统的面向对象语言都有类的模板机制,这样不同的对象拥有独立的成员及状态,互不干涉。虽然JavaScript中没有类这样的机制,但是通过使用闭包,可以模拟出这样的机制,例子如下:

function Person(){    var name = "默认";         return {    getName : function(){    return name;    },    setName : function(newName){    name = newName;    }    }    
};    var john = Person();    
console.log(john.getName());    
john.setName("john");    
console.log(john.getName());    var jack = Person();    
console.log(jack.getName());    
jack.setName("jack");    
console.log(jack.getName());    

以上例子中,john和jack都可以称为是Person这个类的实例,因为这两个实例对name这个成员的访问是独立的,互不影响的。

 

总结:

在函数内部定义子函数,这个子函数可以称为闭包,可以使用闭包来解决在函数外部如何访问函数内部变量的问题,实现父函数变量的保留。

通常如果不使用闭包,我们为了取值方便可能会将有些局部变量直接定义为全局变量,这样造成全局对象过于庞大,影响访问速度(因为变量的取值是需要从原型链上遍历的)。有了函数的闭包也减少了对全局变量的使用,从而减少内存的占用。

转载于:https://www.cnblogs.com/jiangyy/p/9449998.html

http://www.lbrq.cn/news/1567189.html

相关文章:

  • 购买网站服务器/百度seo关键词点击软件
  • 最近火爆的新闻大事/seo搜索引擎优化
  • 网站权限查询/百度怎么打广告在首页
  • 嘉祥网站建设/外贸网络推广怎么做
  • 网站开发毕业设计说明/营销策划公司介绍
  • 电商网站的银行支付接入该怎么做/青岛网站设计微动力
  • 海南网站建设粤icp备/博客是哪个软件
  • 网站空间800m/视频外链工具
  • 联赛网站建设不足/百度竞价关键词查询
  • 外贸网站制作哪家快/免费发布产品的网站
  • 东莞网站建设定制/电商运营培训班
  • 网站建设 栏目管理/广告推广平台代理
  • 东莞南城网站建设公司/人力资源培训网
  • 有没有做网站兼职/b2b b2c c2c o2o区别
  • 两个路由器做双网站/百度收录站长工具
  • 网站开发架构/嘉兴seo外包
  • 浙江省城乡建设厅监管网站/百度浏览官网
  • 长城宽带做网站/北京网站优化seo
  • wordpress 一个主题/专业培训seo的机构
  • 提供信息门户网站制作/网盘资源搜索神器
  • 关键词设定在网站上/关键词排名优化江苏的团队
  • 建设银行网站不能登录不了/营业推广经典案例
  • 网站推广公司 优帮云/最新疫情19个城市封城
  • 公司网站建设企划书/seo在线诊断工具
  • 护士做学分的网站/网站托管服务商
  • 网站建设备案是什么意思/成人电脑培训班附近有吗
  • 电子商务网站建设成都/重庆seo技术博客
  • 济南网站建设第六网建/济南做网站比较好的公司
  • 阳江市网站建设/今天热搜前十名
  • 做环评在发改委网站申请/慧生活798app下载
  • PostgreSQL——触发器
  • pycharm远程连接服务器跑实验详细操作
  • 一篇文章读懂.Net的依赖注入
  • C#自定义日期时间选择器
  • 美团搜索推荐统一Agent之交互协议与多Agent协同
  • Java零基础笔记16(Java编程核心:存储读写数据方案—File文件操作、IO流、IO框架)