2012-04-05 4 views
1

2 개의 다른 함수 내에서 변수를 사용하여 총 숫자를 만드는 별도의 함수를 생성 할 수 있어야합니다. 나는 두 변수 "qtytoy1tot"와 "qtytoy2tot"의 합을 만들 필요가이 코드다른 함수에서 총 합계 - 자바 스크립트

function addToy1() 
{ 
var i = document.getElementById("qty_toy1"); 
var qtytoy1 = i.options[i.selectedIndex].text; 
var qtytoy1tot = qtytoy1 * 26.99; 
var generateTableToy1="<table width=\"210px\" border=\"0\">" 
        +" <tr>" 
        +" <td width=\"140\">Optimus Prime</td>" 
        +" <td width=\"25\">x " + qtytoy1 + "</td>" 
        +" <td width=\"45\">&pound;" + qtytoy1tot + "</td>" 
        +" </tr>" 
        +"</table>"; 

document.getElementById("toy1_add").innerHTML=generateTableToy1; 

} 

function addToy2() 
{ 
var i = document.getElementById("qty_toy2"); 
var qtytoy2 = i.options[i.selectedIndex].text; 
var qtytoy2tot = qtytoy2 * 14.39; 
var generateTableToy2="<table width=\"210px\" border=\"0\">" 
        +" <tr>" 
        +" <td width=\"140\">Bumblebee</td>" 
        +" <td width=\"25\">x " + qtytoy2 + "</td>" 
        +" <td width=\"45\">&pound;" + qtytoy2tot + "</td>" 
        +" </tr>" 
        +"</table>"; 

document.getElementById("toy2_add").innerHTML=generateTableToy2; 


} 

. 나는 Javascript를 처음 사용합니다. 가능한 한 도울 수 있도록 도와주세요. 감사.

+1

@Whymarrh 저는 진심으로 궁금합니다.하지만 'function addToyX() {}'의 문제점은 무엇입니까? –

+1

각 기능에서 "qtytoy1tot"및 "qtytoy2tot"을 반환 할 수 있습니다. –

+0

@Whymarrh 당신이 듣고 경험 한 것을 말하지 않고 그냥 베스트 프랙티스 인 것처럼 전면적 인 진술을 삼가하십시오. 이 두 가지의 차이점에 대해 알고 싶다면 다음 질문에 대한 답과 링크를 참조하십시오. http://stackoverflow.com/questions/336859/javascript-var-functionname-function-vs -function-functionname –

답변

0

여기에는 다양한 옵션이 있습니다. 가장 직접적인 설명은 Amit이 주석에서 제안한 것처럼 각 메소드에서 총계를 반환합니다. 이 방법을 사용하는 방법에 따라 작동하지 않을 수도 있습니다. 다음과 같은 것이 귀하의 목적을 위해 작동해야합니다.

function ToyBox() { 
    this.total = 0; 
} 

ToyBox.prototype.addToy1 = function() { 
    var i = document.getElementById("qty_toy1"); 
    var qtytoy1 = i.options[i.selectedIndex].text; 
    var qtytoy1tot = qtytoy1 * 26.99; 
    this.total += qtytoy1tot; 
    var generateTableToy1="<table width=\"210px\" border=\"0\">" 
         +" <tr>" 
         +" <td width=\"140\">Optimus Prime</td>" 
         +" <td width=\"25\">x " + qtytoy1 + "</td>" 
         +" <td width=\"45\">&pound;" + qtytoy1tot + "</td>" 
         +" </tr>" 
         +"</table>"; 

    document.getElementById("toy1_add").innerHTML=generateTableToy1; 
     }; 

ToyBox.prototype.addToy2 = function() { 
    var i = document.getElementById("qty_toy2"); 
    var qtytoy2 = i.options[i.selectedIndex].text; 
    var qtytoy2tot = qtytoy2 * 14.39; 
    this.total += qtytoy2tot; 
    var generateTableToy2="<table width=\"210px\" border=\"0\">" 
         +" <tr>" 
         +" <td width=\"140\">Bumblebee</td>" 
         +" <td width=\"25\">x " + qtytoy2 + "</td>" 
         +" <td width=\"45\">&pound;" + qtytoy2tot + "</td>" 
         +" </tr>" 
         +"</table>"; 

    document.getElementById("toy2_add").innerHTML=generateTableToy2; 
}; 

var toyBox = new ToyBox(); 
toyBox.addToy1(); 
toyBox.addToy2(); 
console.log(toyBox.total); 

명심

, 당신은 정말 여기에 하나 개의 기능을 가지고, 당신은 함수에 매개 변수로 변수 부분에 통과해야하지만, 나는이 질문의 범위를 벗어나는 것 같아요.

관련 문제