如何创建一个保存var值的函数
How to create a Function that preserve var values?
我有这个代码
<input type="button" id="buttona" onClick="myFunction('this is buttonA')" />
<input type="button" id="buttonb" onClick="myFunction('this is buttonB')" />
<script>
function myFunction(message) {
var count=10;
count = count + 1;
alert(message + ":" + count);
}
</script>
我想要的是,当用户单击按钮A时,显示消息"这是按钮A:11",如果用户再次单击按钮A,则显示"这是纽扣A:12",并且如果用户单击按钮B,则显示消息"this is buttonB:11"。我不想定义全局计数器变量,我想在函数上进行"封装"。即,如果我加上:
<input type="button" id="buttonc" onClick="myFunction('this is buttonC')" />;
具有相同的功能,而不定义几乎任何其他内容。
计数器相互独立并保持值。理解我的问题吗?
提前感谢
您可以考虑使用闭包。其基本思想是,创建一个创建"myFunctions"的函数,而不是只有一个"myFunction"。
function makeCounter(message){
//We move count outside the onclick handler, so it can increment
//but its not a global since we are inside another function!
var count = 10;
return function(){
count = count + 1;
alert(message + ":" + count);
};
}
//now use makeCounter to create encapsulated onclick handlers:
document.getElementById("buttona").onclick = makeCounter("This is button A");
document.getElementById("buttonb").onclick = makeCounter("This is button B");
相关文章:
- 控制台返回var不是't定义,但它是
- 从var向代码隐藏函数传递值
- 如何通过引用var Using DataTables来进行分页或排序
- 如何将getJson的响应保存在全局变量中
- 按下按钮时保存cookie
- 如何使用 Angular JS 将数据保存在数据库中
- jQuery语法添加了var
- 子字符串/正则表达式以获取字符串中保存的 SRC 值
- 如何将具有文本类型值的var放入jQuery函数中
- JS:检查URL中的参数,然后迭代一个参数为var的函数
- 将输入文件(多个文件)保存到数组 var js,jquery 中
- 使用var将xml标记数据保存到xml文件中
- 如何创建一个保存var值的函数
- 在clinetside javascript var上保存nodejs数据
- Angularjs的ng-bind在保存到var后不起作用
- 使用JavaScript保存var并重定向到URL
- 如何在ajax成功函数之外保存var值
- 秒表/计时器,保存var并显示在高分列表(HTML, JS)
- Jquery - var不会在调整大小时更新,但会被保存多次
- 如何在本地存储中保存和检索多个var