字符串方法

String Method Javascript

本文关键字:方法 字符串      更新时间:2023-09-26

我希望函数/方法返回由给定字符串的字母组成的无意义字符串。如何调用函数?例子:输入:美国输出:Aca或Aca **

我已经试过了:

var meaningless = function(){
s = this.toLowerCase();
for (var i=0, i < s.length, i++)
return s[s.length] + s[i] + s[0] + "is a meaningless" ;
}

我也试过这个:

var meaningless = function(){
var s= "HELLO WORLD";
s = this.toLowerCase();
for (var i=0, i < s.length, i++)
return s.charAt(s.length); + s.charAt(i); + s.charAt(0); + "is a meaningless" ;
}

你的函数有几个问题,正如RGraham提到的,for循环是不必要的,因为你只在返回之前"循环"一次(因此跳出循环和函数)。但是,如果您实际使用for循环,则语法是错误的。你应该用分号而不是逗号。你也返回了s.charAt(s.length);,之后什么都没有。分号结束该语句。也没有charAt,长度字符串数组从0开始,所以最后一个字符是s.length - 1

请看下面我是如何修改的。

function meaningless(s) {
  s = s.toLowerCase();
  if (s.length >= 3) {
    return "&quot;" + s[s.length - 1] + s[s.length - 2] + s[0] + "&quot; is a meaningless";
  }
  return s;
}
// THE FOLLOWING IS FOR DEMONSTRATION ONLY
document.getElementById("demo").innerHTML = meaningless("America");
<!-- DEMONSTRATION-ONLY HTML -->
<div id="demo"></div>

更具交互性的功能演示:

function meaningless(s) {
  s = s.toLowerCase();
  if (s.length >= 3) {
    return s[s.length - 1] + s[s.length - 2] + s[0];
  }
  return s;
}
// THE FOLLOWING IS FOR DEMONSTRATION ONLY
var inputEle = document.getElementsByTagName("input")[0];
document.getElementsByTagName("button")[0].onclick = makeInputMeaningless;
inputEle.onkeydown = function(e) {
  if (e.keyCode == 13) { // Enter key was pressed while in the input field
    makeInputMeaningless();
  }
};
function makeInputMeaningless() {
  var meaninglessValue = meaningless(inputEle.value);
  document.getElementById("result").innerHTML = meaninglessValue;
}
<!-- DEMONSTRATION-ONLY HTML -->
<p>
  <input type="text" />
  <button>Make Meaningless</button>
</p>
<p><strong>Meaningless result: </strong><span id="result"></span>
</p>