2017-03-09 125 views
-3

我试图缩短代码返回“无应答”的时候我提示一个在下面的代码是空白:我的for循环不起作用

var name = prompt("What is your name?"); 
var age = prompt("What is your age?"); 
var address = prompt("What is your email address?"); 
var credit = prompt("What is your credit card number?"); 
var social = prompt("What is your social security number?"); 

var arr = [name, age, address, credit, social]; 
var l = arr.length; 

for (var i = 0; i < l; i++) { 

    if (arr[i] == "") { 

    arr[i] = "NO ANSWER"; 

    } 

} 

alert("Your information is " + name + ", " + age + ", " + address + ", " + credit + ", and" + social + "."); 
alert("Now the internet has all of your information. Have a nice day >:D"); 

但是,代码doesn't工作。有人可以告诉我为什么吗?

+7

“不工作”是不可接受的问题说明。 –

+1

你的意思是什么不起作用? – user7491506

+0

你的意思是什么不起作用?你期望什么,你会得到什么? –

回答

2

for循环可以正常工作并按预期工作。在打印或使用这些输入变量时,您需要使用数组arr。这是因为当你做arr[i] = "NO ANSWER";时,你实际上将数组元素设置为“NO ANSWER”,而不是原始变量。请参阅以下内容:

var name = prompt("What is your name?"); 
 
var age = prompt("What is your age?"); 
 
var address = prompt("What is your email address?"); 
 
var credit = prompt("What is your credit card number?"); 
 
var social = prompt("What is your social security number?"); 
 

 
var arr = [name, age, address, credit, social]; 
 
var l = arr.length; 
 

 
for (var i = 0; i < l; i++) { 
 

 
    if (arr[i] == "") { 
 

 
    arr[i] = "NO ANSWER"; 
 

 
    } 
 

 
} 
 

 
alert("Your information is " + arr[0] + ", " + arr[1] + ", " + arr[2] + ", " + arr[3] + ", and" + arr[4] + "."); 
 
alert("Now the internet has all of your information. Have a nice day >:D");

+1

同意,这应该适合你... :) – user7417866

0

试试这个。看起来你正在更新arr,但你并没有在屏幕上打印arr。

var name = prompt("What is your name?"); 
var age = prompt("What is your age?"); 
var address = prompt("What is your email address?"); 
var credit = prompt("What is your credit card number?"); 
var social = prompt("What is your social security number?"); 

var arr = [name, age, address, credit, social]; 
var l = arr.length; 

for (var i = 0; i < l; i++) { 
    if (arr[i] == "") { 
    arr[i] = "NO ANSWER"; 
    } 
} 

alert("Your information is " + arr[0] + ", " + arr[1] + ", " + arr[2] + ", " + arr[3] + ", and " + arr[4] + "."); 
0

我试着干运行没有地址的代码。以下代码作品。 if语句需要改变

testarr = function() { 
 
var name = 'xxx'; 
 
var age = 10; 
 
var address; 
 
var credit = 252525; 
 
var social = 564654; 
 
var arr = [name, age, address, credit, social]; 
 
var l = arr.length; 
 

 
for (var i = 0; i < l; i++) { 
 
    if (!arr[i]) { 
 
    arr[i] = "NO ANSWER"; 
 
    } 
 
} 
 

 
return arr; 
 
//alert("Your information is " + name + ", " + age + ", " + address + ", " + credit + ", and" + social + "."); 
 
//alert("Now the internet has all of your information. Have a nice day >:D"); 
 
} 
 

 
var t = new testarr(); 
 
console.log ("Your information is " + t[0] + ", " + t[1] + ", " + t[2] + ", " + t[3] + ", and" + t[4] + ".")