我正在尝试创建一个简单的程序,该程序从用户输入区号,为它们生成随机电话号码并将完整的10位数记录到控制台。我收到一个'提示符未定义错误',并且弹出提示框后没有任何日志。我不确定为什么我会收到提示错误,因为它在浏览器中有效,但很明显我的代码中有另一个错误,因为它首先没有工作。
任何人都可以向我指出我做错了什么吗?在此先感谢您的帮助!
function yourNum() {
var yourNumber = '';
var n = 0;
var loc = parseInt(prompt('what is your area code?', 773), 10);
if (loc.length === 3) {
loc = '(' + loc + ')';
}
while (n < 7) {
yourNumber[n] = Math.floor(Math.random() * (9));
n++;
}
return loc + ' ' + yourNumber;
}
yourNum();
答案 0 :(得分:1)
yourNum()
返回一个数字,但从不打印到控制台或警报。我对您的代码进行了3次更改,它似乎可以执行您想要的操作:
function yourNum() {
var yourNumber = '';
var n = 0;
var loc = parseInt(prompt('what is your area code?', 773), 10);
if (loc.toString().trim().length === 3) {
loc = '(' + loc + ')';
}
while (n < 7) {
yourNumber += Math.floor(Math.random() * (9));
n++;
}
console.log(loc + ' ' + yourNumber);
alert(loc + ' ' + yourNumber);
return loc + ' ' + yourNumber;
}
yourNum();
&#13;
您似乎正在尝试根据索引yourNumber
访问yourNumber[n]
。我改变它以通过循环中的每次迭代将数字附加到String。
我添加了console.log
和alert()
以打印到控制台,并创建一个包含新号码的对话框。警惕地,你也可以console.log(yourNum());
并从函数内部删除两行。
我将loc.length
更改为loc.toString().trim().length
。 loc
目前是int
。