2012-04-17 3 views
0
여기

자바 스크립트 코드 : nightSurcharges가 pickUptime 미만 20JavaScript 반환 코드에 오류가 있습니까?

function TaxiFare() { 

    var baseFare = 2; 
    var costPerMile = 0.50; 
    var nightSurcharge = 0.50; // 8pm to 6am, every night //its flat 0.50 and not per mile 
    var milesTravelled = Number(document.getElementById("miles").value) || 0; 
    if ((milesTravelled < 1) || (milesTravelled > 200)) { 
     alert("You must enter 1 - 200 miles"); 
     document.getElementById("miles").focus(); 
     return false; 
    } 

    var pickupTime = Number(document.getElementById("putime").value) || 0; 
    if ((pickupTime == "") || (pickupTime < 0) || (pickupTime > 23)) { 
     alert("The time must be 0-23 hours"); 
     document.getElementById("putime").focus(); 
     return false; 
    } 

    var cost = baseFare + (costPerMile * milesTravelled); 

    // add the nightSurcharge to the cost if it is after 
    // 8pm or before 6am 
    if (pickupTime >= 20 || pickupTime < 6) { 
     cost += nightSurcharge; 
    } 
    alert("Your taxi fare is $" + cost.toFixed(2)); 
} 

하더라도 전체 비용에 추가되는 코드의 에러 난 nightSurcharge가 pickupTime은> = 20 인 경우에만 추가되어야 할 거기 ,하지만 지금은 작동하지 않습니다. 도움을 주시면 감사하겠습니다. 감사합니다

+4

이 문제를 디버그하려고 했습니까? 문제를 게시하고 다른 사람이 문제를 고칠 것으로 예상하는 것 같습니다. – Tejs

+1

'if (pickupTime> = 20 || pickupTime <6) { cost + = nightSurcharge; }''nightSurcharge를 픽업 시간이 = 20 일 때만 추가하고 싶습니다. '잠깐 기다려주세요. 숙제를하려고합니다. – Snuffleupagus

+0

정확한 오류는 무엇이며이 오류를 생성하는 데 사용한 번호는 무엇입니까? – Christoph

답변

1

이 나에게 분명한 것 같다 입력 할 수 있습니다. pickupTime 미만 6. 그래서 당연히 지금보다 6

if (pickupTime >= 20) { 
    cost += nightSurcharge; 
} 

을의 경우는 추가되는 20보다 크거나 같은 경우, 또는

if (pickupTime >= 20 || pickupTime < 6) { 
    cost += nightSurcharge; 
} 

바로 여기에이 코드는 비용 nightSurcharge 추가 20보다 크거나 같으면 추가됩니다.

0

코드는 다음과 같습니다 pickupTime 6 적은 다음 경우

if (pickupTime >= 20 || pickupTime < 6) 

는 그래서는 경우뿐만 아니라

http://jsfiddle.net/7rdzC/