我有一个作业,我需要制作两个数组(NAME和SALES)。我需要填充多达100个组件的数组。然后,我需要使用calcPay()函数计算总薪酬。我无法弄清楚如何使函数工作,它将打印结果表与Pay列作为“未声明”,或者它只是在它到达那个位置时停止工作,无论输入了多少个NAMES和SALES进入阵列。我在正文脚本中有这个:
var i=0;
var NAME = new Array();
var SALES = new Array();
do
{
NAME[i]=getName();
SALES[i]=getSales();
i++;
var again=confirm("Would you like to enter another salesperson's stats?");
}while(again && i<=100);
var i=0;
for (var i=0;i<NAME.length;i++)
{
printRow();
}
这是标题:
function getName()
{
do
{
var name=prompt("What is the salesperson's full name?");
}while (name==""||name==null);
return name;
}
function getSales()
{
do
{
var sales=prompt("Please enter salesperson's sales.");
}while(sales==""||isNaN(sales));
return parseFloat(sales);
}
calcPay(sales)
{
var pay=sales*.1+1000;
return pay;
}
function printRow()
{
document.write("<tr>");
document.write("<td>"+NAME[i]+"</td>");
document.write("<td>"+SALES[i]+"</td>");
var payment=calcPay(SALES[i]);
document.write("<td>"+payment+"</td>");
document.write("</tr>");
}
这不是任何方式的任务的全部范围,我只是想确保我有一个处理数组的馈送和操作(显然我不这样做)。 感谢您的任何提示。
答案 0 :(得分:1)
一般来说 - 您的代码有效,请在此处找到:
http://jsfiddle.net/osher/GhZSf/
然而 - 在calcPay之前缺少“函数”
calcPay(sales)
{
var pay=sales*.1+1000;
return pay;
}
应该是
function calcPay(sales)
{
var pay=sales*.1+1000;
return pay;
}
这就是全部
答案 1 :(得分:-3)
名称和销售超出范围此功能不会按照您的想法执行,即使这样做也是错误的。
使用if语句。
function getName()
{
do
{
var name=prompt("What is the salesperson's full name?");
}while (name==""||name==null);
return name;
}
function getSales()
{
do
{
var sales=prompt("Please enter salesperson's sales.");
}while(sales==""||isNaN(sales));
return parseFloat(sales);
}