错误:未定义提示。尝试生成电话号码时出现错误

时间:2015-07-29 02:43:50

标签: javascript function

我正在尝试创建一个简单的程序,该程序从用户输入区号,为它们生成随机电话号码并将完整的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();

1 个答案:

答案 0 :(得分:1)

yourNum()返回一个数字,但从不打印到控制台或警报。我对您的代码进行了3次更改,它似乎可以执行您想要的操作:

&#13;
&#13;
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;
&#13;
&#13;

您似乎正在尝试根据索引yourNumber访问yourNumber[n]。我改变它以通过循环中的每次迭代将数字附加到String。

我添加了console.logalert()以打印到控制台,并创建一个包含新号码的对话框。警惕地,你也可以console.log(yourNum());并从函数内部删除两行。

我将loc.length更改为loc.toString().trim().lengthloc目前是int