js实现点击不同的按钮后各自返回被点击的次数

一、总结

1、注意:返回的不是三个按钮总的点击数,而是每一个的

2、用全局变量的话每一个按钮要多一个函数,用闭包就很方便

二、js实现点击不同的按钮后各自返回被点击的次数

练习3:

  • 实例描述:点击按钮后自动弹出按钮被累计点击的次数
  • 案例要点:

    理解闭包的基本用法。

三、代码

截图

注意:返回的不是三个按钮总的点击数,而是每一个的

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>练习03</title>
<style type="text/css">
input{
width: 150px;
height: 80px;
border-radius: 10px;
font-size: 24px;
padding: 10px;
background: green;
outline: none;
}
</style>
</head>
<body>
<input type="button" value="按钮A" onclick="countA()">
<input type="button" value="按钮B" onclick="countB()">
<input type="button" value="按钮C" onclick="countC()">
<script>
//方案1 大于两个时候比较繁琐
var counter=0;
var counter2=0;
function count1(){ //1、全局变量适合做返回所有按钮的总点击数,否则用全局变量的话每一个按钮要多一个函数,用闭包就很方便
counter+=1;
alert('您共点击了我'+counter+'次')
}
function count2(){
counter2+=1;
alert('您共点击了我'+counter2+'次')
}
//方案2
function count() {
var counter = 0;
function increment() {
counter += 1; //2、闭包实现原理:这个匿名函数用了外面函数的变量,外面函数的变量被常驻内存,有几个匿名函数,匿名函数中用的的这个变量就有多少个在内存,
alert('您共点击了我'+counter+'次');
}
return increment
}
var countA=count();
var countB=count()
var countC=count() // function count() {
// var counter = 0;
// (function () {
// return(function(){
// counter += 1;
// alert('您共点击了我'+counter+'次');
// }
// )()
// })()
// }
</script>
</body>
</html>

js实现点击不同的按钮后各自返回被点击的次数的更多相关文章

  1. 【MFC】 点击不同的按钮后在界面同一位置显示不同的对话框内容(转)

    原文转自 http://bbs.csdn.net/topics/391039432 如图类似Tab控件的功能    但Tab控件按钮是固定的上下左右  不方便     所以想自己重新做个这种   我M ...

  2. 实现在点击asp:button按钮后,不刷新当前页面

    方法1:return false <asp:Button ID="Button1" runat="server" Text="Button&qu ...

  3. html和JavaScript,用户点击浏览器后退按钮,或者返回上一步自动刷新方式

    浏览器用户返回上一步,自动刷新 方式一. <input type="hidden" id="refreshed" value="no" ...

  4. php中点击下载按钮后待下载文件被清空

    在php中设置了文件下载,下载按钮使用表单的方式来提交 <form method="post" class="form-inline" role=&quo ...

  5. response 后刷新页面,点击按钮后,禁用该按钮

    一,正常的点击按钮后,将其灰显,全部执行完毕再正常显示. this.btnSave.Attributes.Add("onclick", "if (typeof(Page_ ...

  6. elementui switch 开关,点击确认按钮后在进行开关

    <el-table-column label="上头条" align="center"> <template slot-scope=" ...

  7. WPF 点击Calendar后,需要点击两次按钮

    主面板上有一个Calendar控件,点击选择了日期后,如果点击确认按钮,需要点击两次.这个问题的解决方法如下:     private void calendar1_PreviewMouseUp(ob ...

  8. JS实现单击按钮后弹出新的窗口页面

    点击按钮后,弹出指定大小的页面窗口. 效果图: 源码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&qu ...

  9. VS2010 使用时选择代码或双击时出错,点击窗口按钮后VS自动重启问题

    VS2010 使用时选择代码或双击时出错崩溃,点击窗口按钮后VS自动重启问题 下载补丁,打上补丁之后,重启电脑,解决了问题. WindowsXP的下载地址:Windows XP 更新程序 (KB971 ...

随机推荐

  1. Spark Tachyon的命令行使用

    Tachyon命令行使用 Tachyon接口说明 接口操作示例 copyFromLocal copyToLocal ls和lsr count cat mkdir.rm.rmr和touch pin和un ...

  2. Oracel 格式化日期 to_char()

    select empno,ename,job,mgr,to_char(HIREDATE,'yyyy-mm-dd') as 入职日期,sal,comm,deptno from emp order by ...

  3. deep-in-es6(二)

    es6-生成器Generators: eg: function* quips(name) { yield "您好"+name+"!"; if(name.star ...

  4. 求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。 例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。

    代码: package com.liron.p1; import java.io.IOException; import java.util.Scanner; /** * 求s=a+aa+aaa+aa ...

  5. 解决Docker容器内访问宿主机MySQL数据库服务器的问题

    懒得描述太多,总归是解决了问题,方法简要记录如下,虽然简要,但是完整,一来纪念处理该问题耗费的大半天时间,二来本着共享精神帮助其他遇到该问题的哥们儿,当然这个方法并不一定能解决你们的问题,但是多少能提 ...

  6. 分享一段php获取随意时间的前一天代码

    <?php /** * 获取给定日期的前一天 * @param string $date * @return string $yesterday */ function getYesterday ...

  7. vim-复制、粘贴

    选中某些行,可以在命令行模式下执行如下操作 v(小写),按上下左右键,可以选中某些行 V(大写),按上下键,这时候可以直接选中光标所在的行 ctrl+v(小写),可以选中一个矩形区域 取消选中,这些指 ...

  8. [NOI.AC#30]candy 贪心

    链接 一个直观的想法是,枚举最小的是谁,然后二分找到另外一个序列对应位置更新答案,复杂度 \(O(NlogN)\) 实际上不需要二分,因为每次当最大的变大之后,原来不行的最小值现在也一定不行,指针移动 ...

  9. holder.js如何使用

    holder.js的使用 一.总结 一句话总结:使用:holder.js后面接图片宽高 <img src="holder.js/300x200" /> 1.holder ...

  10. select发生改变使用js提交form表单(get传值)

    form表单如下: <form id="my_form" method="get" action=""> <input t ...