javascript - 在 JavaScript 循环中使用全局变量更改的问题

标签 javascript

我有一个全局变量,我想在 for 循环中更改它并稍后在“for”之外使用它

我想编写代码来更正姓氏和姓名。例如:
用户:NICK WATERSON ...代码:Nick Waterson
用户:nick Waterson ...代码:Nick Waterson
用户:nIck Waterson ...代码:Nick Waterson

let fTab = 0;
Register: while (true) {
  var name = prompt('Your fullname:', '');

  for (let i = 0; i < name.length; i++) {
    if (name.charAt(i) == ' ') {
      fTab = i;
      break Register;
    }
  }

  alert('Error!!')
}

name.toLowerCase();
alert('Your name is ' + name.charAt(0).toUpperCase() + name.substr(1, fTab) + name.charAt(i + fTab).toUpperCase() + name.substr(fTab + 2));

程序不返回任何内容,因为找不到“fTab”的值

最佳答案

正如 @Quentin 在他的评论中提到的,您正在使用一种复杂的方式在 TitleCase 中命名名称。 您可以使用以下方式,易于阅读且简洁。

let name  = prompt('Your fullname:', '');

let correctedName = name.split(' ')
   .map(first => first[0].toUpperCase() +    first.substr(1).toLowerCase())
   .join(' ');
   
   console.log(correctedName);

关于javascript - 在 JavaScript 循环中使用全局变量更改的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57029280/

相关文章:

javascript - 为什么javascript函数中括号无法访问外部?

javascript - 如何制作基于个人浏览器的动态 GUI

javascript - react : App not rendering to screen when wrapped in React. 组件

javascript - 如何使用文本预览在 html/css/js 中创建可扩展的博客文章

javascript - 在集成 Google Plus 的同时,如何在 Angular JS 中使用 google Oauth 接收刷新 token

javascript - 将 ajax 请求传递到 Codeigniter Controller 的安全性如何

javascript - CSS/JavaScript/Jquery : Show/Hide a DIV Depending on one of two images being clicked

Javascript 插件/片段组合器

javascript - 如何将多个按钮水平居中显示大小?

javascript - 如何仅从网格外部访问 Kendo Grid 列菜单并为列标题中的特定列添加筛选选项