好的,所以我只是在JavaScript中讨论一些基本的编程原则(我是编程新手,所以请耐心等待).下面是我遇到问题的代码(特别注意数组的字符串组件).
var name = new Array();
var sales = new Array();
var total = prompt("How many total salesmen does your department employ?");
for(i = 0; i < total; i++)
{
name[i] = prompt("What is his/her (the salesman's) name?");
sales[i] = prompt("How much (in dollars) did he/she sell?");
}
for(j = 0; j < i; j++)
{
document.write(name[j]+" had $"+ sales[j]+" in sales!<br>");
}Run Code Online (Sandbox Code Playgroud)
如您所见,这只是一个简单的代码,让我熟悉各种类型元素的数组.出于某种原因,代码返回:
undefined had $100 in sales!
undefined had $2999 in sales!
undefined had $4999 in sales!
undefined had $32342 in sales!
Run Code Online (Sandbox Code Playgroud)
which is exactly what I need, except for the fact that each of the elements within the name array is undefined.
I'm thinking it may be an issue with the document.write function, as i've read that it can be dubious but I still don't know exactly how to get this working properly.
Any help would be greatly appreciated!
name是的财产window.您的功能不适用于全球范围.再现问题的更简单的例子是......
var name = {}
name.blah = "blah"
document.write(name.blah); // undefined
Run Code Online (Sandbox Code Playgroud)
将其包装在函数中,或选择其他变量名称.names更适合任何方式,因为它是一个包含多个对象的数组,您应该为变量选择一个复数名称:
var names = new Array();
var sales = new Array();
var total = prompt("How many total salesmen does your department employ?");
for(i = 0; i < total; i++)
{
names[i] = prompt("What is his/her (the salesman's) name?");
sales[i] = prompt("How much (in dollars) did he/she sell?");
}
for(j = 0; j < i; j++)
{
document.write(names[j]+" had $"+ sales[j]+" in sales!<br>");
}Run Code Online (Sandbox Code Playgroud)