每日一句English(start from today):

  In the previous section we just displayed a list of string entered statically in the Python code.(源于odoo的开发文档)。

     翻译:在上一节中我们只显示一个列表的字符串输入静态的Python代码。(百度翻译)

    在群里看见有人问了关于,获得当前对象的index值得时候,我做了demo ,获得了当前的index,方法多种,下面我就用我的方法来讲解我的代码:

  模拟数据:div里面5个button

1 <div>2         <button>1button>3         <button>2button>4         <button>3button>5         <button>4button>6         <button>5button>7 div>下面就是关于取这个index的for循环代码:



  对于这个闭包需要讲解一下:可能大多数同学在不理解onclick的时候,就会发现他们获得值就是最后一个值,会写下这么的一串代码
for(var i = 0;i < obj.length;i++) {obj[i].onclick = function(){  console.log(i+1);     }}

  如图错误:

  

  onclick这个点击函数是异步执行的,也就是说在点击获得值得时候,循环已经结束,到达最后一个值,这时候i的值为5.所以,每次点击的时候,都是获得一样的值。因此,如果想获得里面的i的值的时候就需要将i值包裹起来,就需要用这样的闭包形式,函数自调传入当前的i。每次循环一次,就会让函数自调一次,输出当前的i.索引值是从0开始的,这里加1是想让他输出button的序号。正确所示:

  

  顺便附上关于jq的写法:这里就不用考虑闭包了,都在jq的index这个方法包裹在里,有兴趣的同学可以去找这段jq的源码,来看看这个index的方法是怎么样封装的。

$("button").click(function(){     var index = $("button").index(this);     console.log(index); })

 

  具体关于闭包的详细解析:我会在在下篇 【闭包的理解】,详细讲解我对于闭包的理解。

  谢谢浏览!

©著作权归作者所有:来自51CTO博客作者迩伶贰的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 210429 PHP 回调函数 递归函数 数组函数
  2. 回调函数的学习
  3. 利用函数对对象的处理
  4. 卵巢癌单基因怎么发?看这篇一起零代码复现就对了!
  5. 快递查询、快递单识别、电子面单、家寄件等接口代码-快递100JAVA
  6. Python中缩进是什么?Python特点介绍!
  7. 210428 PHP 函数 返回值 参数 闭包/匿名函数
  8. 4-29数组系统函数的操作
  9. Spring Data REST 远程代码执行漏洞(CVE-2017-8046)分析与复现

随机推荐

  1. 缩放图像后的鼠标位置(比率/比率)
  2. 正则表达式以任何顺序匹配多个模式
  3. 使用javascript或jquery将具有相同id的多
  4. 12个非常有用的JavaScript技巧
  5. 浏览器独立文件io在javascript中
  6. 根据php对ajax请求的响应制作动态html表
  7. Javascript XML DOM将属性设置为特定元素
  8. arcgis api for js入门开发系列十 自定义
  9. 上传文件进度条(笔记)
  10. 整理简易分享功能