如何处理Javascript中多次调用的代码?
我正在编写一个Javascript代码,它会多次重复某些行。我试着把这些行放在一个函数中,如下所示如何处理Javascript中多次调用的代码?,javascript,Javascript,我正在编写一个Javascript代码,它会多次重复某些行。我试着把这些行放在一个函数中,如下所示 function rpit() { a += 1; b += 1; } document.getElementById('button1').onclick = function() { var a = +document.getElementById('inpA').value, b = +document.getElementById('inpB').value;
function rpit() {
a += 1; b += 1;
}
document.getElementById('button1').onclick = function() {
var a = +document.getElementById('inpA').value,
b = +document.getElementById('inpB').value;
rpit();
if (a == 5) rpit();
if (b == 10) rpit();
rpit();
}
但这种方式似乎行不通。我如何处理这些代码?感谢您的帮助。对象可能更简单:-
function rpit(o) {
o.a += 1; o.b += 1;
}
document.getElementById('button').onclick = function() {
var o = {};
o.a = document.getElementById('inpA').value,
o.b = document.getElementById('inpB').value;
rpit(o);
if (o.a == 5) rpit(o);
if (o.b == 10) rpit(o);
rpit(o)
}
不确定您的“b”是否是全局变量,或者只是忘记输入var,如果您需要它的全局变量
b = o.b
最后……如果你这样做,很可能会造成一点混乱。你应该在代码中做很多修改,以使它按照你想要的方式工作
- 首先,假设您正在检查是否有任何按钮单击,您应该使用
而不是document.getElementsByTagName()
。然后迭代结果并添加一个document.getElementById()
监听器,就像您所做的那样李>onclick
- 其次,一个主要问题是
不了解rpit()
和a
,因为它们既不是局部的,也不是全局的,所以在顶部用0值定义它们b
- 第三个大问题是,输入字段上的
将它们作为字符串获取,因此如果.value
,运行a=5
将使其成为a+=1
。这可以通过使用a=51
值和第二个参数10(表示十进制)来解决parseInt()
console.log()
将向您显示结果)
var a=0,b=0;
函数rpit(){
a+=1;b+=1;
}
var buttons=document.getElementsByTagName('button');
对于(变量i=0;i
按钮
你想在这里做什么?你是在计算什么时候某个东西可以被5整除?至少你会得到一个“a未定义”您提供的示例中出现错误。根据主题,您所能做的就是重新考虑您的算法,不要多次使用此函数。只需注意,OPsb
不是全局的,因为它们使用逗号运算符用单个var
声明a
和b
。