闭包和类一个简单分析与应用.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
闭包和类一个简单分析与应用

闭包和类的浅析与应用 序 我从事java软件开发已经两年有余了.因为工作的原因,所以对前台的技术比较了解.当然,也很喜欢.无论是工作压力还是兴趣所在.都给了我一定的动力. 第一次接触闭包是在第一家公司的时候.那时候我的项目组长是个很了不起的人物.也给了我很多东西.所以至今很感激.也是他把我带入了javascript这个神奇的世界.或许.对你来说它并不神奇. 这篇文档,不会涉及到太深奥的东西,因为我自己也并不是很精通.这是实话.但是该文章也不会去讲述那些基本内容知识.因为我这篇文章的标题已经说明了.是对闭包和类的一个简单的分析与应用.我们为什么要用闭包?我们用闭包可以带来什么?难道我用纯粹的function不能满足我自己的需求么? 我想说的是,面对一些好的解决方案,就像现在很少有人执着的去徒步旅行到很远很远的地方.也或许就像很多人不再爬山而是做缆车一样.在效率和利益面前,一切可以快速达到终点的方法,都是好方法.但是你要记住,偶尔,也要自己去亲身体会一下那曾经一闪而过的风景. 好了,不多说了.我们开始吧.让我这个菜鸟九段级人物,带你们这些人走进JS的神奇世界. 声明 本文章在叙述的时候会尽量使用白话文和喻意来讲述一个问题.如果需要官方解释请百度或谷歌来获取精准的讲义. 且本文章主要是用于培训讲座.所以很多东西可能在文章中未写出.如有疑惑.可以联系或者是查阅相关资料. 本文的作者--即鄙人水平有限.所以有疏漏之处还望不吝赐教. LCC 2012-05-21 第一章 什么是闭包和类 闭包的简述 闭包这个东西其实你一直都在用,当然了,你要是不写JS的就另当比论了.说到这个一直都在用,是不是突然有了周易所说的:大道至简的感觉. PS:大道至简你可以粗略的理解为专家所喋喋不休的那些我们不懂的东西,我们一直都在使用.只不过我们自己不知道而已. 你可以想象一下,你无论是把JS代码写在HTML中,还是写在一个文件中.那么只要这个页面引用到了这些JS.那么它们就已经身处在一个巨大的function方法中了. 比如下面的代码: html ... ... script src=a.js/script script var testA = null; function testFnA( ){ ... ... } /script ... ... /html 其实你可以看作或这比作这样的代码: (function (){ js 所有的代码 HTML中直接嵌入的代码 })(); PS:再次声明,本文章不讲述基本知识和内容.所以如果对上述或下述的基本知识代码有疑问的话.请上网查阅相关资料. 上面的(function (){})();其实就是一个简单的闭包. 那你就可能会说.这就是闭包? 哦,按照我们想要表达和实现的内容来说它不是.因为我们写闭包的目的是保留住我们想要的变量值.以及保护我们的变量不被破坏及泄漏.你看看,说着说着就开始老生常谈了.这不合C#的封装,哦,我是搞Java的.这不是和Java的封装的概念很相似呀. 是与不是,你们可以自己琢磨.或许会给你带来不小的收获或者是启发. 通俗来讲,这个就像你去吃自助餐一样.无论转盘上有多少东西.它针对顾客来说是共享的.一个顾客实际需要的.他会夹到自己的盘子中.这时候,这个东西就是专门针对这个顾客来分配的.而这个顾客盘子中的东西,针对他的朋友来说,也是极有可能共享的东西.例如情侣之间吃东西一般是不分你我的. 如果你看中了一个食物,你没有把它夹在自己的盘子里.OK,那么你得到结果也许就是:刚刚我为什么不多夹点.从而导致你没能享受到你本可以享受的东西. 当你用餐完毕.那么服务员就会对你残留的东西进行清理.这个过程和程序是样的.因为她只有服务员空闲的时候才会清理.当然了.如果说新顾客需要占用这个位置.她一般会主动让服务员清理.可惜不完美的是.这个清理时间也不是立刻的.而是会给你一个优先级而已. 朋友,用心体会生活.对你去理解高级语言也是很有帮助的.我想到了自助餐.那你呢?或许你会用其他的比喻.当然了.好乐买优惠券只要能帮你快速去理解.就是一个好的比喻. 最后,我问你一个问题:利用循环创建十个button按钮.并添加单击事件.当这个单击事件被触发的时候弹出循环他们时候的索引值.你是怎么让这个按钮正确弹出这个索引值的. PS:例如你用循环创建按钮的时候.假设索引是从0开始的.那么第三个按钮弹出的值就应该是2. 参考: JS 类的简述 这个简述只有一句话:它是一个Json对象.当然.我在写一个控件的时候不会用Json对象.而是利用function来写. 下面我在讲写一个控件的时候,将会直接使用[混合的构造函数/原型方式].其他的方式.大家可以上网查阅一下. PS:人们创建一个类的时候,会用new Class或是new

文档评论(0)

phltaotao + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档