JavaScript.substr()和.slice()

JavaScript.substr()和.slice(),javascript,Javascript,我正在尝试制作这个Javascript,这样当我的网页打开时,它会要求输入密码和你的名字,如果你不输入你的名字,它会进行循环,直到你输入为止,并将输入的名字中的第一个字母大写。但它不会大写第一个字母。请帮忙。多谢各位 function startFunction() { var Password = prompt("What is the password?"); getPassword(Password); }; function getPassword(Password)

我正在尝试制作这个Javascript,这样当我的网页打开时,它会要求输入密码和你的名字,如果你不输入你的名字,它会进行循环,直到你输入为止,并将输入的名字中的第一个字母大写。但它不会大写第一个字母。请帮忙。多谢各位

function startFunction() {
    var Password = prompt("What is the password?");
    getPassword(Password);
};

function getPassword(Password) {
  if (Password == "123") {
    alert("Correct password. Access granted.");
    var Name = prompt("What is your name?");
    getName(Name);
  }
  else {
    alert("Incorrect password. Access denied.");
    window.close();
  }
};

function getName(Name) {
  if (Name.length === 0) {
    while (Name.length === 0) {
    alert("Please enter your name.");
    var Name = prompt("What is your name?");
    if (Name.length > 0) {
      alert("Nice to meet you, " + Name + ".");
      }
    }
  }
  else {
    try {
      var newName2 = Name.slice(1, Number(name.length));
      var newName1 = Name.slice(0, 1);
      var newName = newName1.toUpperCase() + newName2;
      alert("Nice to meet you, " + newName + ".");
    }
    catch (ValueError) {
      alert("Hello")
    }
  }
};

startFunction();

您的while循环没有包含将名称的第一个字母大写的逻辑,因此如果您第一次尝试输入的名称为空,则其问候语不会大写

我简化了一点
getName()
,并将大小写移动到了它自己的函数中:

function getName(Name) {
  while (Name.length === 0) {
    alert("Please enter your name.");
    Name = prompt("What is your name?");
  }

  try {
    alert("Nice to meet you, " + capitalizeName(Name) + ".");
  }
  catch (ValueError) {
    alert("Hello")
  }
};

function capitalizeName(Name) {
  var newName2 = Name.slice(1, Number(name.length));
  var newName1 = Name.slice(0, 1);
  var newName = newName1.toUpperCase() + newName2;
  return newName;
}

还有一把小提琴在起作用:

你的while循环没有包含将名字的第一个字母大写的逻辑,因此如果你第一次尝试输入的名字是空的,那么它的问候语就不会大写

我简化了一点
getName()
,并将大小写移动到了它自己的函数中:

function getName(Name) {
  while (Name.length === 0) {
    alert("Please enter your name.");
    Name = prompt("What is your name?");
  }

  try {
    alert("Nice to meet you, " + capitalizeName(Name) + ".");
  }
  catch (ValueError) {
    alert("Hello")
  }
};

function capitalizeName(Name) {
  var newName2 = Name.slice(1, Number(name.length));
  var newName1 = Name.slice(0, 1);
  var newName = newName1.toUpperCase() + newName2;
  return newName;
}
一把小提琴在演奏:

给你

Html:

<input type="text" id="name" ></input>
<input type="password" id="pass" ></input>
<button onclick="process()" >
  Submit
</button>
给你

Html:

<input type="text" id="name" ></input>
<input type="password" id="pass" ></input>
<button onclick="process()" >
  Submit
</button>

当我输入您的代码时,它似乎大写了我名字的第一个字母。你确定你的代码没有按预期工作吗?另外,请记住要遵循。
块中出现的“很高兴认识你…”警报如果
块没有任何大写字母的代码,则只有
else
块中的警报才有。顺便说一句,您不需要尝试/捕获这段代码。谢谢我试图让它大写第一个字母,并将其添加到名称的其余部分。例如,如果您添加“chris”,它将提醒“chris”。当我输入时,您的代码似乎大写了我名字的第一个字母。您确定您的代码没有按预期工作吗?另外,请记住按照。很高兴见到您。。。“在
块中发生的警报,如果
块没有任何代码大写第一个字母,则只有
else
块中的警报才大写。顺便说一句,您不需要尝试/捕获这段代码。谢谢我试图让它大写第一个字母,并将其添加到名称的其余部分。比如,如果你加上“chris”,它会提醒“chris”。