gpt4 book ai didi

javascript - 程序运行后如何修复 undefined variable

转载 作者:行者123 更新时间:2023-11-30 14:05:42 24 4
gpt4 key购买 nike

程序将要求所有输入并打印所有内容,但变量都未定义。

这是用于绑定(bind)到 HTML 文档的 Web 应用程序。运行时不会抛出任何错误。

function driver(){
var plan1Code = "S";
var plan1Cost = 450;
var plan1Hours = 2.5;
var plan1Pics = 75;

var plan2Code = "G";
var plan2Cost = 750;
var plan2Hours = 5;
var plan2Pics = 125;

var plan3Code = "P";
var plan3Cost = 1000;
var plan3Hours = 8;
var plan3Pics = 225;

var retName = getName();
var retPlan = getPlan();
var retHours = getHours();
var retPics = getPics();

var baseCost, totalCost, upchargeTime, upchargeTimeCost, upchargePics, upchargePicsCost;

if (retPlan == plan1Code){
baseCost = plan1Cost;
upchargeTime, upchargeTimeCost = calcTimeUpcharge(retHours, plan1Hours);
upchargePics, upchargePicsCost = calcPicsUpcharge(retPics, plan1Pics);
}
else if (retPlan == plan2Code){
baseCost = plan2Cost;
upchargeTime, upchargeTimeCost = calcTimeUpcharge(retHours, plan2Hours);
upchargePics, upchargePicsCost = calcPicsUpcharge(retPics, plan2Pics);
}
else if (retPlan == plan3Code){
baseCost = plan3Cost;
upchargeTime, upchargeTimeCost = calcTimeUpcharge(retHours, plan3Hours);
upchargePics, upchargePicsCost = calcPicsUpcharge(retPics, plan3Pics);
}

totalCost = calcTotalCost(baseCost, upchargeTimeCost, upchargePicsCost);
print(retName, retPlan, baseCost, upchargeTime, upchargeTimeCost, upchargePics, upchargePicsCost, totalCost);

}

function getName(){
var text;
var name = prompt("Enter your name");
if (name == null) {
text = "Please enter a valid name";
}
}

function getPlan(plan){
var plan = prompt("Enter the selected package");
}

function getHours(hours){
var hours = prompt("Enter anticipated coverage hours");
}

function getPics(pics){
var pics = prompt("Enter anticipated number of pictures");
}

function calcTimeUpcharge(hours, baseHours){
upchargeTime = hours - baseHours;
var price;
if (upchargeTime>0){
var upchargeTimeUnits = Math.ceil((upchargeTime)/.5);
upchargeTimeCost = upchargeTimeUnits * 50;
}
else {
upchargeTime = 0;
upchargeTimeCost = 0;
}
return upchargeTime, upchargeTimeCost;

}

function calcPicsUpcharge(pics, basePics){
upchargePics = pics - basePics;
if (upchargePics>0){
upchargePicsunits = Math.ceil((upchargePics)/10);
upchargePicsCost = upchargePicsunits*40;
}
else {
upchargePics = 0;
upchargePicsunits = 0;
}
return upchargePics, upchargePicsCost;
}

function calcTotalCost(baseCost, timeCost, picsCost){
return baseCost + timeCost + picsCost;
}

function print(retName, retPlan, baseCost, upchargeTime, upchargeTimeCost, upchargePics, upchargePicsCost, totalCost){
document.write(retName + ", thanks for using Photosarus!" + "\n");
document.write("<br><br>");
document.write("You selected plan " + retPlan + " at a cost of "+ baseCost );
document.write("<br><br>");
document.write(upchargeTime + "additional hours at a cost of "+ upchargeTimeCost);
document.write("<br><br>");
document.write(upchargePics + "additional pictures at a cost of "+ upchargePicsCost);
}

我希望输出是这样的

Bill,感谢您使用 Photosarus!

您选择了费用为 $450 的计划 S

额外 0 小时的费用为 0 美元

0 张附加图片,费用为 0 美元

但是我得到了

undefined,感谢使用 Photosarus!

您以未定义的成本选择了未定义的计划

未定义的额外工时,费用为未定义

undefined 附加图片以undefined 为代价

最佳答案

您需要从函数中返回值:

function getName(){
var text;
var name = prompt("Enter your name");
if (name == null) {
text = "Please enter a valid name";
}
return name;
}

function getPlan(plan){
var plan = prompt("Enter the selected package");
return plan;
}

function getHours(hours){
var hours = prompt("Enter anticipated coverage hours");
return hours;
}

function getPics(pics){
var pics = prompt("Enter anticipated number of pictures");
return pics;
}

关于javascript - 程序运行后如何修复 undefined variable ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55437132/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com