我有以下这些功能:
function func1(){
var var1 = $('.someclass_a').val();
var var2 = var1 * some_number1;
var var3 = var2 * some_number2;
$('.someclass1').html(var2);
$('.someclass2').html(var3);
}
function func2(){
var var1 = $('.someclass_b').val();
var var2 = var1 * some_number1;
var var3 = var2 * some_number2;
$('.someclass3').html(var2);
$('.someclass4').html(var3);
}
如何在上面的所有函数中提取var2和var3,以便我可以将它们添加到下面的另一个函数中:
function func3(){
var total1 = func1_var2 + func2_var2;
var total2 = func1_var3 + func2_var3;
$('.someclass5').html(total1);
$('.someclass6').html(total2);
}
我想把它们放在一个阵列中,但我不知道怎么办?
答案 0 :(得分:1)
返回一个对象并调用函数?
function func1(){
var var1 = $('.someclass_a').val();
var var2 = var1 * some_number1;
var var3 = var2 * some_number2;
$('.someclass1').html(var2);
$('.someclass2').html(var3);
return {var2:var2,var3:var3}; //return object here
}
function func2(){
var var1 = $('.someclass_b').val();
var var2 = var1 * some_number1;
var var3 = var2 * some_number2;
$('.someclass3').html(var2);
$('.someclass4').html(var3);
return {var2:var2,var3:var3}; //return object here
}
function func3(){
var func1Ob = func1(), func2Ob = func2(), total1 , total2; //invoke the funcs
total1 = func1Ob.var2 + func2Ob.var2; //get the values from obj returned.
total2 = func1Ob.var3 + func2Ob.var3;
$('.someclass5').html(total1);
$('.someclass6').html(total2);
}
答案 1 :(得分:0)
在函数外部声明变量并为它们指定不同的名称。然后在函数内部,您可以访问和更改它们。最后一个功能就可以了。
请记住使用不同的名称
答案 2 :(得分:0)
你已经部分回复了自己的问题:
var func1_var2, func1_var3, func2_var2, func2_var3;
function func1(){
var var1 = $('.someclass_a').val();
var var2 = func1_var2 = var1 * some_number1;
var var3 = func1_var3 = var2 * some_number2;
$('.someclass1').html(var2);
$('.someclass2').html(var3);
}
function func2(){
var var1 = $('.someclass_b').val();
var var2 = func2_var2 = var1 * some_number1;
var var3 = func2_var3 = var2 * some_number2;
$('.someclass3').html(var2);
$('.someclass4').html(var3);
}
不超过马克西姆所说的。