首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

js动态绑定事件,无法使用for循环中变量i问题

❝小闫语录:我一直在幻想,那些伟大预言家都来自未来,那些畅销小说家都是真实经历过... ❞ 每天不是在写 bug,就是在解 bug 路上~更多精彩文章请关注公众号『Pythonnote』或者『全栈技术精选...』 1.问题描述 在一个 for 循环中,我动态给一堆 a 标签绑定 onclick 事件时,发现点击事件不正确。...但是上述代码点击每一个链接总是弹出一个值,而且还是个不正常值。之所以说它不正常,是因为上面我获取到了 5 个标签,正常下标应该到 4 结束,但是总是弹出 5 ????...调用时,发现内部没有定义变量 i ,所以就去外面找一下,发现外层有,就取外层值了,但是为什么是 5 呢?...那是因为 for 循环结束条件是 i 不满足 i<5 ,那么结束后变量 i 值就是 5,匿名函数到外层取值正好取到了它。

3.9K10

C语言中循环语句总结

while坏:  for循环:  while和for循环对比: 区别:for 和 while 在实现循环过程中都有初始化、判断、调整这三个部分,但是 for 循环三个部 分⾮常集中,便于代码维护...这是因为 do-while 循环先执行循环体,然后再判断循环条件。与之相反while 循环,它会先判断循环条件,然后再执行循环体。...环中 continue 后代码,直接去到循环调整部分。...,来到了i++调整部分 printf("%d ", i); } return 0; } 运行结果: 对比for循环和while环中continue对代码运行影响: 分析代码可以知道它们修改条件位置不同...对于while循环修改条件在continue后面所以当i=5时,他没法继续修改,而是陷入i=5死循环  对于for循环修改条件在continue上面,所以当i=5时,它会跳出printf函数来到上面进行条件修改

12310
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Yann LeCun:语言有限性决定了 AI 永远无法比肩人类智能

    他给出了这样论证: 1.语言只承载了人类全部知识一小部分。 2.大部分人类知识和所有动物知识都是非语言(非象征性)。 3.因此大型语言模型无法接近人类水平智能。...语言表征模式处理是更具体信息,例如描述不规则形状、物体运动、复杂机制功能或绘画时细致入微笔触,如果要描述一个冲浪事件时,还要考虑特定语境中动作。...2、语言有限性 LeCun 认为,语言表征图式特点是它传递信息非常少,这也是它具有局限性原因。 从信息传输角度看,语言传输信息带宽非常低:孤立单词或句子,没有上下文,传达内容很少。...系统可以解释如何进行长除法运算,但却无法完成长除法运算;系统也能够解释哪些词是不应该说出口冒犯词汇,然后毫无压力地说出口。语境知识体现在背诵语言知识能力上,却没有体现在处理问题能力上。...我们无法仅仅通过语言来达到深刻理解,经过对 LLM 研究,我们可以看明白,仅仅从语言本身能了解东西是多么少。

    21730

    【Java】循环语句for、while、do-while

    循环语句 1.1 循环概述 循环语句可以在满足循环条件情况下,反复执行某一段代码,这段被重复执行代码被称为循环 体语句,当反复执行这个循环体时,需要在合适时候把循环判断条件修改为false...,从而结束 环,否则循环将一直执行下去,形成死循环。...③具体执行语句 ④循环后,循环变量变化情况 输出10次HelloWorld do...while 循环特点:无条件执行一次循环体,即使我们将循环条件直接写成 false ,也依然会...1.5 循环语句区别 for 和 while 小区别: 控制条件语句所控制那个变量,在 for 循环结束后,就不能再被访问到了,而 while 循环结束还可 以继续使用,如果你想继续使用...扩展知识点 2.1 死循环 死循环: 也就是循环中条件永远为 true ,死循环是永不结束循环。例如: while(true){} 。

    6.7K10

    Yann LeCun:语言有限性决定了 AI 永远无法比肩人类智能

    他给出了这样论证: 1.语言只承载了人类全部知识一小部分。 2.大部分人类知识和所有动物知识都是非语言(非象征性)。 3.因此大型语言模型无法接近人类水平智能。...语言表征模式处理是更具体信息,例如描述不规则形状、物体运动、复杂机制功能或绘画时细致入微笔触,如果要描述一个冲浪事件时,还要考虑特定语境中动作。...2 语言有限性 LeCun 认为,语言表征图式特点是它传递信息非常少,这也是它具有局限性原因。 从信息传输角度看,语言传输信息带宽非常低:孤立单词或句子,没有上下文,传达内容很少。...系统可以解释如何进行长除法运算,但却无法完成长除法运算;系统也能够解释哪些词是不应该说出口冒犯词汇,然后毫无压力地说出口。语境知识体现在背诵语言知识能力上,却没有体现在处理问题能力上。...我们无法仅仅通过语言来达到深刻理解,经过对 LLM 研究,我们可以看明白,仅仅从语言本身能了解东西是多么少。

    23810

    for循环简介及break和continue区别

    大家好,又见面了,我是你们朋友全栈君。 1.for循环 for循环是更加简洁循环语句,大部分情况下,for循环可以代替while循环、do-while循环。...for循环格式为: for( 初始语句 ; 执行条件 ; 增量 ) { 循环体 } 执行顺序:1、初始语句 2、执行条件是否符合?...注意:for循环循环体和迭代语句不在一起(while和do-while是在一起)所以如果使用continue来结束本次 环,迭代语句还有继续运行,而while和do-while迭代部分是不运行...1.break 有时候我们想在某种条件出现时候终止循环而不是等到循环条件为false才终止。 这是我们可以使用break来完成。break用于完全结束一个循环,跳出循环体执行循环后面的语句。...可以理解为continue是跳过当次循环中剩下语句,执行下一次循环。

    3.9K00

    OushuDB-PL 过程语言-控制结构

    LOOP LOOP定义一个无条件循环,直到由EXIT或者RETURN语句终止。可选label可以由EXIT和 CONTINUE语句使用,用于在嵌套循环中声明应该应用于哪一层循环。 2)....CONTINUE 如果没有给出label,CONTINUE就会跳到最内层循环开始处,重新进行判断,以决定是否继续执行 环内语句。如果指定label,则跳到该label所在循环开始处。...WHILE [ > ] WHILE expression LOOP statements END LOOP [ label ]; 只要条件表达式为真,其块内语句就会被循环执行...循环,在该循环中可以遍历命令结果并操作相应数据,见如下示例: PL/pgSQL还提供了另外一种遍历命令结果方式,和上面的方式相比,唯一差别是该方式将SELECT 语句存于字符串文本中,然后再交由...,之 后系统会寻找匹配异常捕捉条件,此时division_by_zero完全匹配,这样该条件代码将会被继续 执行。

    2.5K20

    C语言基础——循环详解!

    while 循环 do...While循环 For循环 一、while循环 1、形式: while (表达式) // { //语句 } 表达式 每一次循环都要判定表达式值 如果为真(表达式值为1)...继续执行 环后面的代码 (3)执行完b 后,继续判断a是否满足条件。...由于while循环不会自行更改循环控 制变量内容,所以while环中为循环控制变量赋值工作要由设计者自己来 做,完成后再回到步骤(2)重新判断是否继续执行循环。...=tarNumber); //注意:循环条件表达式 printf("恭喜你猜对了,这个数字是:%d",inNumber ); 执行步骤: (1)执行语句a和跳出循环条件b,转(2) (2)计算while...注意:do……while语句最后分号(;)不可少,否则提示出错。

    4.3K00

    PP-DAX入门:传统数据透视无法实现条件计数问题

    小勤:我要统计每栋楼楼层情况和单元数,但楼层里有走廊不能统计,这种情况怎么办? 大海:加个辅助列将楼层情况做个判断,然后用辅助列数据做透视?...大海:Power Pivot里DAX函数其实比Power QueryM语言和函数还要好计一些,因为除了DAX里特有的函数外,大部分函数跟Excel里都比较接近,比如其中COUNTA和Excel里...COUNTA是完全一样。...大海:你看CALCULATE函数里写了2个参数,第一个就是 COUNTA,即对楼层进行计数,第二个参数是一个条件,整个公式意思就是,基于第二个参数给定条件用COUNTA函数计算楼层数。...小勤:好

    1.4K20

    【C++ 程序设计入门基础】- 第3节-循环结构02

    4、无法预知循环次数,或者循环更新不是规律增减时,用while语句。...while、do while区别 while语句是先判断循环条件,再决定是否执行循环体。 do while语句是先执行循环体,再判断循环条件,至少执行一次循环体。...如果循环体中包含continue,for语句跳到循环更新处,while语句直接跳到循环条件处。 无法预知循环次数,或者循环更新不是规律增减时,用while语句。...左边 for 循环中,遇到 continue,下一步程序直接到循环更新 i++; 右边 while环中,遇到 continue ,下一步程序直接到循环条件判定 i<=n; 此处需要特别注意 while...4、无法预知循环次数,或者循环更新不是规律增减时,用while语句。 写在最后 大家可以自行练习一些相关循环语句使用。 eg: 一直输入n,并输出,直到n=0停止。

    17010

    解析PHP跳出循环方法以及continue、break、exit区别介绍

    本篇文章是对PHP跳出循环方法以及continue、break、exit区别进行了详细分析介绍,需要朋友参考下 PHP中循环结构大致有for循环,while循环,do{} while 循环以及...foreach循环几种,不管哪种循环中,在PHP中跳出循环大致有这么几种方式: 代码: 代码如下: <?...; } else if ($i==5) { // 但到这里$i=5就跳出循环了 break; } else { echo $i ....> PHP代码片段作用是输出100以内,既不能被7整除又不能被3整除那些自然数,循环中先用if条件语句判断那些能被整除数,然后执行 continue;语句,就直接进入了下个循环。...> 这里例子和上面使用exit效果是一样。 在循环结束条件,自然跳出 这个当然是最好理解了,当循环满足循环临界条件时就是自己退出。 以上是PHP中跳出循环几种方式简单总结。

    4.9K40

    Python数据容器:集合

    (增加或删除元素等)数据是无序存储(不支持下标索引)不允许重复数据存在支持for坏,不支持while坏# 定义集合my_set={"A","B","C","B","A"}# 定义一个空集合my_set_empty...while循环,但是支持使用for循环遍历。...for坏遍历:# 集合遍历# 集合不支持下标索引,所以不能用while坏,可用for坏set1={1,2,3}for element in set1: print(f"集合元素有{element...', 'best',请按如下要求操作:1.定义一个空集合2.通过for循环遍历列表3.在for循环中将列表元素添加至集合4.最终得到元素去重后集合对象,并打印输出my_list = ['新闻', '...in my_list: # 在for坏中将列表元素添加至集合 my_set.add(element)print(f"列表内容为{my_list}")print(f"通过for坏得到集合为

    8031

    异步,同步,阻塞,非阻塞程序实现

    如果是同步,线程会等待接受函数返回值(或者轮函数结果,直到查出它返回状态和返回值)。如果是异步,线程不需要做任何处理,在函数执行完毕后会推送通知或者调用回调函数。...线程在同步调用下,也能非阻塞(同步轮非阻塞函数状态),在异步下,也能阻塞(调用一个阻塞函数,然后在函数中调用回调,虽然没有什么意义)。 下面,我会慢慢实现一个异步非阻塞sleep。...那么,我们该如何实现自己非阻塞sleep呢。 (tornadosleep,原理十分复杂。以后再细说。) 场景二:轮非阻塞 实现非阻塞场景,关键在于函数不能阻塞住当前线程。...for task in tasks: try: next(task[1]) # 不断每个生成器关连timer。...上面的代码中,在一个while环中timer状态。由于timer存在于wait中。所以需要把timer“提取”出来。

    7.5K10

    英语不好能不能学编程?

    先记住语法和报错最常涉及那些单词,if 、while 、for 、class 、def 、error 、type 之类,足够你写出完整程序。英语好不是学习编程先决条件。 2....会吃力 然而,英语不好,你可能就不能一眼看懂报错信息,需要花上比别人多时间来调试。你无法查阅原版文档和 StackOverflow 上问答,只能在中文资料里寻找信息。...还有更直接一点,如果你不会英文,你就几乎没有和国外优秀程序员共同开发机会。不论是在同一家公司里,还是在远程协作项目中,你能参与可能性都会因为语言障碍大大降低。...最后,如果你实在不愿意学英语,那也可以考虑用中文写代码呀: 和 = 0 環子 = 0 只要 環子 < 100: 和 = 和 + 環子 環子 = 環子 + 1 寫 和 和 =...0 取 環子 自 范圍(0, 100, 1): 和 = 和 + 環子 寫 和 _往期文章推荐_ 你“听”过这些经典排序算法吗?

    14230
    领券