<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Document</title><script type="text/javascript">//在一个函数内部又定义一个函数/*function f1(){var n=99;function f2(){//只是定义函数,必须调用才会执行console.log(n); //在内部函数f2中可以访问到函数f1中的局部变量n}//f2();return f2; //返回函数f2}var fn=f1();fn();*/function doAdd(){for(var i=1;i<=5;i++){//方式一:会产生闭包问题/*var btn=document.createElement("input");btn.type="button";btn.value="按钮"+i;btn.function(){console.log("点击了按钮"+i);};$("mydiv").appendChild(btn);*///方式二:不在函数内部定义函数//$("mydiv").appendChild(createButton(i));//方式三:为元素附加属性var btn=document.createElement("input");btn.type="button";btn.value="按钮"+i;btn.num=i; //存储数据btn.onclick=function(){console.log("点击了按钮"+this.num);};$("mydiv").appendChild(btn);}}function createButton(num){var btn=document.createElement("input");btn.type="button";btn.value="按钮"+num;btn.onclick=function(){console.log("点击了按钮"+num);};return btn;}function $(id){return document.getElementById(id);}</script>
</head>
<body><input type="button" value="向div中添加多个按钮" onclick="doAdd()" ><div id="mydiv"></div>
</body>
</html>

难点:通过为元素自创一个属性,达到存储数据的目的

可以随便定义属性,不影响输出结果

Javascript第六章闭包closure规则第三课相关推荐

  1. Javascript第六章基本包装类型第八课

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...

  2. Javascript第四章变量的作用域第三课

    更多免费教学文章请关注这里 注:没有使用Var 声明的都是全局变量,不论在方法里还是方法外 就近原则,输出的方法里的局部变量 如果你想访问全局变量 你可以用window 或者this 前缀 因为win ...

  3. Javascript第六章JavaScript字面量加数组创建对象第三课

    Javascript第六章JavaScript用new创建对象第一课 https://blog.csdn.net/qq_30225725/article/details/89304586 Javasc ...

  4. Javascript第六章JavaScript中构造器创建对象第二课

    Javascript第六章JavaScript用new创建对象第一课 https://blog.csdn.net/qq_30225725/article/details/89304586 Javasc ...

  5. Javascript第六章JavaScript用new创建对象第一课

    Javascript第六章JavaScript用new创建对象第一课 https://blog.csdn.net/qq_30225725/article/details/89304586 Javasc ...

  6. Javascript第六章世上最全常用RegExp正则表达式及表单验证源码第七课

    元字符: 很多不太懂正则的朋友,在遇到需要用正则校验数据时,往往是在网上去找很久,结果找来的还是不很符合要求.所以我最近把开发中常用的一些正则表达式整理了一下,在这里分享一下.给自己留个底,也给朋友们 ...

  7. Javascript第六章计时器练习【源码】第四课

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...

  8. Javascript第六章基本数据类型和引用数据类型第三课

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...

  9. Javascript第六章prototype原型向构造器中添加属性,实现构造器共享,节约空间第五课

    /*function Student(name,age){this.name=name;this.age=age;this.show=function(){console.log("我是一个 ...

最新文章

  1. LeetCode Integer to Roman(数字转罗马)
  2. python爬虫入门(六) Scrapy框架之原理介绍
  3. React开发(162):React关于 this.props.children 总结
  4. The Illustrated Transformer (Transformer可视化解读自译笔记)
  5. 阿里CTO鲁肃:技术的想象力不应设限,未来所有应用的核心都离不开数据和智能...
  6. title属性,显示出提示文字;alt属性,在浏览器无法显示图片的时候,用alt中的文字替代。不要把title和alt的作用混乱了~
  7. 网络入门—家庭组网介绍基本网络知识
  8. redis常用命令 (查询出所有的商品,并返回json给客户端)redis之路(八)
  9. MacOS DNS快速设置
  10. IDEA 利用MySQL驱动连接数据库
  11. 春季高考计算机专业知识归纳,春季高考计算机试题总结.doc
  12. SEO优化 - robots协议
  13. MUI 支付案例(支付宝/微信)
  14. clock constrain
  15. 阿里、京东、美团等主流互联网公司的最新招聘标准
  16. ACdream原创群赛(11)の风神日华神专场 C.神奇的%系列一
  17. jieba:我虽然结巴,但是我会分词啊
  18. Vue3 : 实现Vue的跨端渲染
  19. 第76天:Python开发-内外网收集Socket子域名DNS
  20. 英伟达 VLSI PD 面经

热门文章

  1. 中子穿墙问题的MonteCarlo求解方法
  2. python合并表格_python合并表格sheets
  3. 微信php 客户端cookie,微信内置浏览器中的cookie很诡异呀
  4. 用java程序写日历_用Java和C#写一个日历
  5. 约数之和(分治,公式变形)
  6. Pull解析Xml文件
  7. python ssl模块安装_在Windows上安装Python的SSL模块(2.5.4)
  8. springMVC的controller单例和多例下成员变量的问题
  9. Penn Treebank Tags做点小翻译 (上篇)
  10. 修改密码-测试用例设计