全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
浅析Javascript闭包的特性Javascript闭包的定义非常晦涩闭包,是指语法域位于某个特定的区域,具有持续参照(读写)位于该区域内自身范围之外的执行域上的非持久型变量值能力的段落。这些外部执行域的非持久型变量神奇地保留它们在闭包最初定义(或创建)时的值(深连结)。简单来说,Javascript闭包就是在另一个作用域中保存了一份它从上一级函数或作用域取得的变量(键值对),而这些键值对是不会随上一级函数的执行完成而销毁。周爱民说得更清楚,闭包就是“属性表”,闭包就是一个数据块,闭包就是一个存放着“Name=Value”的对照表。就这么简单。但是,必须强调,闭包是运行期概念,一个函数实例。Javascript闭包的实现,通常是在函数内部再定义函数,让该内部函数使用上一级函数的变量或全局变量。ECMAScript认为使用全局变量是一个简单的Javascript闭包实例。 1. varsMessage=HelloWorld; 2. functionsayHelloWorld() 3. alert(sMessage); 4. ; 5. sayHelloWorld();但它完成没有体现Javascript闭包的特性现在比较让人认同的Javascript闭包实现有如下三种6. with(obj) 7. /这里是对象闭包 8. (function() 9. /函数闭包 10. )()try 11. /. 12. catch(e) 13. /catch闭包但IE里不行 14. 附上今天在无忧看到的问题:要求:让这三个节点的Onclick事件都能正确的弹出相应的参数。15. 16. aa 17. aa 18. aa 19. 20. 21. 22. aa 23. aa 24. aa 25. 26. 27. for(vari=1;i4;i+) 28. varid=document.getElementById(a+i); 29. id.onclick=function() 30. alert(i);/现在都是返回4 31. 32. 33. 客服果果的解答:34. for(vari=1;i4;i+) 35. varid=document.getElementById(a+i); 36. /* 37. 这里生成了一个匿名函数并赋值给对象id_i; 38. */ 39. id.onclick=function() 40. /* 41. 这个i来源于局部变量,无法以window.i或者obj.i的形式在后期引用, 42. 只好以指针或者变量地址方式保存在这个匿名函数中, 43. 这就是传说的闭包,所以所有这个过程中生成的事件句柄都使用引用 44. 的方式来持久这个变量,也就是这些匿名函数共用一个变量i; 45. */ 46. alert(i); 47. ; 48. ;局部变全局49. for(vari=1;i4;i+) 50. varid=document.getElementById(a+i); 51. id.i=i;/这个i有了根 52. id.onclick=function() 53. alert(this.i) 54. ; 55. ;1.for(vari=1;i4;i+) 56. varid=document.getElementById(a+i); 57. windowid.id=i;/这个i有了根 58. id.onclick=function() 59. alert(windowthis.id); 60. ; 61. 产生一对一的更多Javascript闭包62. for(vari=1;i4;i+) 63. varid=document.getElementById(a+i); 64. id.onclick=newf
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智慧煤场系统工程施工方案
- 电鸣乐器调试工创新实践知识考核试卷含答案
- 2025-2026学年北师大版(2022)小学劳动技术三年级(上册)期末测试卷附答案
- 机器人教学实验位姿控制实践指南
- 解析现代小说魅力
- 四年级生涯心理探析
- 专题01 一元二次方程【知识梳理+解题方法+专题过关】-2025-2026学年九年级数学上学期期中期末挑战满分冲刺卷(人教版)(原卷版)
- 2025-2031全球与中国工程机械市场现状及未来发展趋势 Sample wp
- 2025陕西榆林府谷能源投资集团有限公司选聘24人笔试历年参考题库附带答案详解
- 2025年国家能源投资集团有限责任公司高校毕业生统招6400余人(河北有岗)笔试历年参考题库附带答案详解
- 食品安全“周排查”记录表
- 大学英语学术阅读知到章节答案智慧树2023年南京大学
- EBZ掘进机电气原理图三一重工
- 汉字英雄试题库
- 两篇古典英文版成语故事狐假虎威
- GB/T 6109.11-1990漆包圆绕组线第11部分:200级聚酯亚胺/聚酰胺酰亚胺复合漆包铜圆线
- GB/T 29475-2012移动实验室设计原则及基本要求
- 职业性格测验量表
- 甲A写字楼物业管理手册
- 建设工程造价咨询成果文件质量标准课件
- 众辰变频器说明书3400
评论
0/150
提交评论