JavaScript实现循环点击按钮弹出对应的数字

问题:循环点击按钮弹出对应的数字

<body>
<input type="button" value="按钮1"/>
<input type="button" value="按钮2"/>
<input type="button" value="按钮3"/>
<input type="button" value="按钮4"/>
<input type="button" value="按钮5"/>
<input type="button" value="按钮6"/>
<input type="button" value="按钮7"/>
<input type="button" value="按钮8"/>
<input type="button" value="按钮9"/>
<input type="button" value="按钮10"/>
</body>

错误写法:

<script>
    var inputLists=document.querySelectorAll("input");
    for(var i=0; i<inputLists.length; i++){
        inputLists[i].οnclick=function () {
            alert(i+1);
        };
    }
</script>

运行结果:点击任何一个按钮,弹出的数字都是11

解决方法:

方法一:闭包,将i作为函数参数值传递给内部函数。 

    var inputLists=document.querySelectorAll("input");
    for(var i=0; i<inputLists.length; i++){
        (function(j){
            inputLists[j].οnclick=function () {
                alert(j+1);
            };
        }(i));
    }

方法二:闭包,将i作为函数参数值传递给内部函数。

    var inputLists=document.querySelectorAll("input");
    for(var i=0; i<inputLists.length; i++){
        inputLists[i].οnclick=(function (j) {
            return function(){
                alert(j+1);
            };
        }(i));
    }

方法三:ES6里,用let定义变量,会产生块级作用域。 

    var inputLists=document.querySelectorAll("input");
    for(let i=0; i<inputLists.length; i++){
        inputLists[i].οnclick=function () {
            alert(i+1);
        };
    }


  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 可以使用JavaScript中的Math.random()和Math.floor()函数来实现随机输出0~20之间的整数。代码如下: ``` let num = Math.floor(Math.random() * 21); console.log(num); ``` 以上代码将随机生成一个0~1之间的小数,乘以20后向下取整,得到的结果即为0~20之间的整数,赋值给变量num并输出。 ### 回答2: 在JavaScript中,我们可以使用Math.random()方法生成一个0到1的随机小数。想要输出0到20的随机整数,我们可以使用以下步骤: 1. 使用Math.random()方法生成一个0到1的随机小数。 2. 将这个小数乘以21,得到一个0到21的随机小数。 3. 使用Math.floor()函数将这个随机小数向下取整,得到一个0到20的随机整数。 4. 将这个随机整数输出。 下面是使用JavaScript编写的代码示例: ```javascript var randomNumber = Math.floor(Math.random() * 21); console.log(randomNumber); ``` 运行这段代码,就可以在控制台输出一个0到20之间的随机整数。每次运行代码,都会产生一个不同的随机数。 ### 回答3: 要在JavaScript中随机输出0到20的数字,我们可以使用Math.random()函数来生成一个0到1之间的随机数。然后,将这个随机数乘以21,将其范围扩大到0到20.9999。接下来,我们可以使用Math.floor()函数将这个结果向下取整,得到一个介于0到20之间的整数。最后,我们将这个整数打印输出即可。 以下是使用JavaScript编写的代码示例: ```javascript // 生成0到20之间的随机数 var randomNumber = Math.floor(Math.random() * 21); // 打印输出随机数 console.log(randomNumber); ``` 以上代码将生成一个介于0到20之间的随机整数,并将其输出到浏览器的控制台中。可以多次运行代码,观察输出结果的随机性。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值