js for循环的陷阱

定义一个数组,var temp = ["提示1", "提示2", "提示3"];

定义三个按钮的点击触发函数:

for (i in temp) {
  var tip = temp[i];
  var selector = "input.button:eq(${index})".replace(/\$\{index\}/, i);
  $(selector).click(function() {
    alert(tip);
  });
}

结果发现,三个按钮点击弹出的都是"提示3"。

使用jquery 的each循环,没有上述问题:

$.each(temp, function(i, tip) {
  var selector = "input.button:eq(${index})".replace(/\$\{index\}/, i);
  $(selector).click(function() {
    alert(tip);
  });
 });
时间: 2024-10-11 05:43:55

js for循环的陷阱的相关文章

JS基础——循环很重要

介绍循环之前,首先要说一下同样很重要的if-else结构,switch-case结构 ①if-else结构 if(判断条件) { 条件为true时执行 } else{ 条件为false时执行 } ②if-else-if结构(阶梯if) if(条件一){ 条件一成立 } else if( 条件二){ 条件一不成立&&条件二成立 (else-if部分可以有多个) } else{ 条件一不成立&&条件二不成立 } ③嵌套if结构 结构写法 if(条件一){ 条件一成立 if(条件

关于JS的循环和函数,由入门到放弃

1.条件语句if if 语句 if 语句是 ECMAScript 中最常用的语句之一,事实上在许多计算机语言中都是如此. if 语句的语法: if (condition) statement1 else statement2 其中 condition 可以是任何表达式,计算的结果甚至不必是真正的 boolean 值,ECMAScript 会把它转换成 boolean 值. 如果条件计算结果为 true,则执行 statement1:如果条件计算结果为 false,则执行 statement2.

<08>while循环介绍及基本格式+while循环使用陷阱+统计键盘输入字符个数+while循环使用注意+do-while循环介绍及语法格式+do-while和while的对比+for循环结构及执行过程+for循环的其他形式

while循环介绍及基本格式(掌握): 循环结构: 当条件满足的时候 ,程序会重复的执行某一个代码段 构成循环结构的条件: 1)循环控制条件 2)循环体 3)让循环控制条件为假的控制 while循环的格式: while(表达式){ 语句块; } 1 #include <stdio.h> 2 3 void test1(){ 4 5 int i=1; 6 7 // 1)循环控制条件 8 while(i<=1000){ 9 10 //2)循环体 11 printf("第%d次说:我爱

&lt;08&gt; while循环介绍及基本格式+while循环使用陷阱+统计键盘输入的字符数+

while循环介绍及基本格式(掌握): 循环结构: 当条件满足的时候 ,程序会重复的执行某一个代码段 构成循环结构的条件: 1)循环控制条件 2)循环体 3)让循环控制条件为假的控制 while循环的格式: while(表达式){ 语句块; } 1 #include <stdio.h> 2 3 void test1(){ 4 5 int i=1; 6 7 // 1)循环控制条件 8 while(i<=1000){ 9 10 //2)循环体 11 printf("第%d次说:我爱

JS中循环的多种使用方式

JS中循环的遍历 在js中我们一般都使用for循环,但是这样的代码见的多了,总是感觉到审美疲劳,而且有更好的方式可以替代for循环,比如js的foreach和jquery的each. 我们看一行代码,这是一个多选框(html代码) <input type="checkbox" name="senceIds" lay-skin="primary" value='1' title='全自助黄金卡' checked /> <input

js事件循环机制辨析

?对于新接触js语言的人来说,最令人困惑的大概就是事件循环机制了.最开始这也困惑了我好久,花了我几个月时间通过书本,打代码,查阅资料不停地渐进地理解他.接下来我想要和大家分享一下,虽然可能有些许错误的地方,希望大家不吝赐教,感谢感谢. ?这是所涉及的知识点: 观察者模式 js的事件循环机制 js事件循环机制优缺点及与多线程的比较 观察者模式 ?js的事件循环机制是基于观察者模式的,而跟观察者模式相对应的是轮询,我们先来说说轮询的原理. ?我们将轮询映射在现实世界中即为:B不停到A的房间观察房间里

node.js事件循环 event loop

Nodejs事件循环 (event loop) node.js 事件循环的概念 当node.js 启动的时候会初始化eventloop ,每一个evnet loop 都会包含如下6个循环阶段,node.js 事件循环和浏览器事件循环完全不一样. 官网文档:https://nodejs.org/zh-cn/docs/guides/event-loop-timers-and-nexttick/ timers pending callbacks (I/O callbakcs) idle, prepar

Node.js的循环与异步问题

Node.js 的异步机制由事件和回调函数实现,一开始接触可能会感觉违反常规,但习惯 以后就会发现还是很简单的.然而这之中其实暗藏了不少陷阱,一个很容易遇到的问题就是 循环中的回调函数,初学者经常容易陷入这个圈套.让我们从一个例子开始说明这个问题. var fs = require('fs'); var files = ['a.txt', 'b.txt', 'c.txt']; for (var i = 0; i < files.length; i++) { fs.readFile(files[i

PHP和JS在循环、条件判断中的不同之处

一.条件判断: php中算  false 的情况 1. boolean:false 2. 整形:0 3.浮点型:0 4.字符串:"" "0"(其他都对) 5.空数组 6.空对象为真(只在php4算false,其他版本都算true) 7.null和尚未定义的变量 8.所有资源都算对,除php4,所有对象也算对 JS中if()中的表达式 1. Boolean: true 真 false 假 2. String:非空字符串为真 空字符串为假 3. Null/NaN/Und